Android 程式开发:(二)使用意图 —— 2.4 使用Intent传递数据
除了能从一个Activity返回数据结果之外,向一个Activity传递数据也是很常用的。1.新建一个名为PassData的工程。
2.main.xml中的代码。
[java] view plaincopy<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btn_SecondActivity"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Click to go to Second Activity" />
</LinearLayout>
3.在res/layout文件夹下,创建secondactivity.xml文件。[java] view plaincopy<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Welcome to Second Activity" />
<Button
android:id="@+id/btn_MainActivity"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Click to return to main activity" />
</LinearLayout>
4.新建一个Activity子类:SecondActivity.java。[java] view plaincopypublic class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.secondactivity);
// ---get the data passed in using getStringExtra()---
Toast.makeText(this, getIntent().getStringExtra("str1"),
Toast.LENGTH_SHORT).show();
// ---get the data passed in using getIntExtra()---
Toast.makeText(this,
Integer.toString(getIntent().getIntExtra("age1", 0)),
Toast.LENGTH_SHORT).show();
// ---get the Bundle object passed in---
Bundle bundle = getIntent().getExtras();
// ---get the data using the getString()---
Toast.makeText(this, bundle.getString("str2"), Toast.LENGTH_SHORT)
.show();
// ---get the data using the getInt() method---
Toast.makeText(this, Integer.toString(bundle.getInt("age2")),
Toast.LENGTH_SHORT).show();
}
public void onClick(View view) {
// ---use an Intent object to return data---
Intent i = new Intent();
// ---use the putExtra() method to return some
// value---
i.putExtra("age3", 45);
// ---use the setData() method to return some value---
i.setData(Uri.parse("Something passed back to main activity"));
// ---set the result with OK and the Intent object---
setResult(RESULT_OK, i);
// ---destroy the current activity---
finish();
}
}
5.AndroidManifest.xml中的代码。[java] view plaincopy<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.horsttnann.PassingData"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".PassingDataActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity&g
补充:移动开发 , Android ,