首页 > 代码库 > android-Activity(四大组件之一)

android-Activity(四大组件之一)

一、配置Activity

  Android应用要求所有应用程序的组件(Activity、Service、ContentProvider、BroadcastReceiver)都必须进行显示的配置,只要为<application.../>元素添加<Activity.../>子元素即可配置Activity;通常需要指定如下几个属性:

  name:指定该Activity的实现类的类名;

  icon:指定该Activity对应的图标;

  label:指定该Activity的标签;

  exported:指定该Activity是否允许被其他应用程序调用(true允许被调用);

  launchMode:指定该Activity的加载模式;

  此外,通常还需要指定一个或多个<intent-filter.../>元素,该元素用于指定该Activity可响应的Intent(意图)。

二、启动、关闭Activity

  1、启动Activity

   一个Android应用程序通常都会包含很多Activity,但只有一个Activity会作为程序的入口;当应用程序运行时将会自动启动并执行该Activity,其他Activity通常由入口Activity启动或者由入口Activity启动的Activity启动。

  Activity启动其他Activity有如下两个方法:

    startActivity(Intent intent);  启动其他Activity;

    startActivityForResult(Intent intent,int requestCode); 以指定的请求码启动Activity,而且程序将会获取新启动的Activity返回的结果(通过重写onActivityResult(...)方法来获取)。

  2、关闭Activity

    finish()  结束当前Activity;

    finishActivity(int requestCode) 结束以startActivityForResult(Intent intent,int requestCode)方法启动的Activity。

 

 

三、使用Bundle在Activity之间交换数据

  当一个Activity启动另一个Activity时常常会有一些数据需要传过去,这就要用到Intent,只要将需要交换数据放入Intent中即可。Intent提供了多个重载的方法来“携带”额外的数据:

    putExtras(Bundle data)   向Intent中放入需要“携带”的数据包;

    Bundle getExtras()  取出Intent中所携带的数据包;

    putExtra(String name,Xxx value)  向Intent中按键值对的形式存入数据;

    getXxxExtra(String name)  从Intent中按key取出指定类型的数据;

    注意:使用putExtra(String name,Xxx value)方法时,如果该Intent对象中已经携带了Bundle对象,则该方法直接向Intent所携带的Bundle中存入数据;如果还没有携带Bundle对象,该方法会先为Intent创建一个Bundle,再向Bundle中存入数据。

  上述方法中的Bundle就是一个简单的数据携带包,该Bundle对象包含了多个方法来存入/取出数据:

    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中取出一个可序列化的对象;

 

在练习的过程中出现找不到Activity对应的实现类,在配置文件中配置name属性时连同包名一起写上即可,如下:

技术分享

代码片段:

技术分享技术分享

 

四、启动其他Activity并返回结果

五、Activity的回调机制

六、Activity生命周期

七、Activity加载模式

八、Activity与Servlet

 

 

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

android-Activity(四大组件之一)