Activity配置==》

android应用程序要求所有的应用程序组件都需要进行显示配置后,才可正常使用。包括:Activity、Service、BroadCastReceiver、ContentProvider.

Activity配置值需要在AndroidMainfest.xml文件中配置如:<Application .../>中添加<Activity.../>子元素即可。

EG:

      <activity
android:name="com.example.mylauncheractivity.PreferenceActivityTest" //建议使用完全限定名称,即:包名+类名
android:icon="@drawable/eighteen"
android:label="显示标题" />

android学习笔记27——Activity-LMLPHP

注意:配置Activity通常还需要指定一个或多个<intent-filter.../>元素,该元素用于指定该Activity可响应的Intent。

入口Activity配置方式==》
<activity
android:name="com.example.mylauncheractivity.OtherActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

启动、关闭Activity

启动Activity的方式:

  1.无返回结果的方式==》startActivity(Intent intent)

  2.带返回结果的方式==》startActivityForResult(Intent intent,int requestCode):以请求码的方式启动Activity,而且程序后等到新启动Activity的结果(通过重写onActivityResult(......)方法来获取)。

Intent启动的组件,即可是Activity,也可是Service.

EG:

android学习笔记27——Activity-LMLPHP

关闭Activity的方式:

  1.finish():结束当前Activity;

  2.finish(int requestCode):结束以startActivityForResult(Intent intent,int requestCode)请求方式启动且是指定的请求码的Activity.

使用Bundle在Acitivity之间交换数据

Activity之间进行数据交换时,采用将数据包装到Intent即可。

Intent提供多个重载的方法来“携带”/获取数据:

putExtras(Bundle bundle)向Intent中放入需要携带的参数
putXxx(String key,XXx,data)向Bundle放入int、long等各种类型的数据
putSerializable(String key,Serializable data)向Bundle放入一个可序列化的对象
getXxx(String key)从Bundle中获取int、long等各种类型的数据
getSerializable(String key,Serializable data)从Bundle中获取一个可序列化的对象

EG:

android学习笔记27——Activity-LMLPHP注:Person类实现了java.io.Serializable接口。


android学习笔记27——Activity-LMLPHP

启动其他Activity并返回结果

startActivityForResult(Intent intent,int requestCode),需要重写当前Activity的onActivityResult(int requestCode,int resultCode,Intent intent).

requestCode,代表请求码,resultCode代表Activity返回的结果码(请求码、结果码都是开发者根据具体业务进行自定义)。

EG:

android学习笔记27——Activity-LMLPHP

android学习笔记27——Activity-LMLPHP

android学习笔记27——Activity-LMLPHP

04-20 20:47