深入理解Activity
来源:互联网 发布:linux udp 发送广播包 编辑:程序博客网 时间:2024/06/05 11:01
1、建立Activity
建立自己的Activity需要继承Activity基类,当然,在不同应用场景下,有时也要求继承Activity的子类。例如如果应用程序界面只包括列表,则可以让应用程序继承ListActivity;如果应用程序界面需要实现标签页效果,则可以让应用程序继承TabActivity。
2、启动、关闭Activity
Activity启动其它Activity有如下两个方法:
a、startActivity(Intent intent):启动其它Activity
b、startActivityForResult(Intent intent,intrequestCode):以指定请求码(requestCode)启动Activity,而且程序将会等到新启动Activity的结果(通过重写onActivityResult(...)方法来获取)
启动Activity时可指定一个requestCode参数,该参数代表了启动Activity的请求码。这个请求码的值由开发者跟据业务自行设置,用于标识请求来源。
想要启动哪个组件,被启动的组件既可是Activity组件,也可是Service组件。
Android为关闭Activity准备了如下两个方法:
a、finish():结束当前Activity
b、finishActivity(int requestCode):结束以startActivityForResult(Intent intent,int requestCode)方法启动的Activity
3、使用Bundle在Activity之间交换数据
当一个Activity启动另一个Activity时,常常会有一些数据需要传过去。对于Activity而言,在Activity之间进行数据交换更简单:因为两个Activity之间本来就有一个“信使”:intent,因此我们主要将需要交换的数据放入Intent即可。
Intent提供了多个重载的方法来“携带”额外的数据:
putExtras(Bundle data):向intent中放入需要“携带”的数据。方法中的Bundle就是一个简单的数据携带包,该Bundle对象包含了多个方法来存入数据。
putXxx(String key,Xxx data):向Bundle放入Int、Long等各种类型的数据。
putSerializable(String key,Serializable data):向Bundle中放入一个可序列化的对象。
为了取出Bundle数据携带包里的书籍,Bundle提供了如下方法:
getXxx(String key):从Bundle取出Int、Long等各种类型的数据。
getSerializable(String key,Serializable data):从Bundle取出一个可序列化的对象。
4、启动其它Activity并返回结果
前面提到startActivityForResult(Intent intent,int requestCode)方法,该方法用来启动指定Activity,而且期望获取指定Activity返回的结果。
为了获取被启动Activity返回的结果,当前Activity需要重写onActivityResult(int requestCode,int resultCode,Intent intent),其中requestCode代表请求码,而resultCode代表Activity返回的结果码,这个结果码是开发者跟据业务需要自行设定的。为了知道该方法是由哪个请求的结果所触发的,可利用resultCode请求码;为了知道返回的数据来自于哪个新的Activity,可以利用resultCode结果码。
- 深入理解Activity
- 深入理解Activity
- ACTIVITY 深入理解
- activity深入理解
- ACTIVITY 深入理解
- Activity 深入理解
- activity生命周期深入理解
- Activity深入理解(一)
- 深入理解Activity(二)
- 深入理解Activity
- 深入理解Activity
- 深入理解Activity 生命周期
- 深入理解活动Activity
- Activity的深入理解
- 深入理解Android Activity生命周期
- Activity生命周期深入理解2
- 深入理解Activity的生命周期
- activity的生命周期深入理解
- 对象转换成XML数据形式
- 事件处理
- javax.servlet.jsp.JspException cannot be resolved to a type
- html之marquee实现图片文字滚动效果详解
- android中修改默认语言
- 深入理解Activity
- Linux sed命令实例笔记
- 使用Intent和IntentFilter进行通信
- 对聚集索引和非聚集索引很好的解释
- 第十周任务2
- 菜鸟学习 ThreadLocal
- pbxuser
- Android应用资源
- 黑马程序员--数据库开发总结