Android之多个Activity之间的关系和Intent作用
2013-06-14 12:58
393 查看
一、多个Activity之间的关系
两个Activity,当从第一个Activity想要跳转到另一个Activity时,通常是一个Activity中点下按钮或其他操作,此时需要调用
第一个Activity中的startActivity(Intentintent),跳到哪个Activity及Activity具体要做什么都是由
Intentintent对象决定的。
布局Layout目录下的布局xml文件的文件名不能是大写的,注意。
二、Intent(像是一个请求,)的基本作用
一个Intent对象包含了一组信息:
Component name组件名称:intent会根据component name要启动哪一个组件(activity,service,contentProvider)
Action://ACTION_CALL、ACTION_EDIT。。。指定另外一个Activity要做些什么
Data:从一个Activity向另一个Activity传送怎样的数据
Category
Extras额外的:事先向一个activity的intent中存入的键值对
Flags
注意:Activity之间通过intent传递数据不一定要求是在同一个应用中
三、在一个Activity当中启动另一个Activity的方法
在第一个Activity当中添加监听setOnClickListener(),具体的监听方法implements OnClickListener,在此方法中为intent赋值后startActivity(intent)。
intent.setClass(从哪个对象,跳转到哪一个对象)
Acitivity02.this.startActivity(intent);
Activity02:当前类
public class Activity02 extends Activity {
private Button mybutton = null;
public void onCreate(Bundle savedInstanceState) {
... ...
mybutton.setOnClickListener (new MyButtonListener());
}
//内部类可以任意使用外部类的成员变量和函数
class MyButtonListener implements
View.OnClickListener {//要实现这个接口
public void onClick(View v) {
... ...
}
}
}
四、第二个Activity必须在Androidmainfest.xml中注册
编写一个Activity,必须在AndroidManifest.xml中进行注册:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... ...>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Activity01" android:label="@string/app_name">
... ... </activity>
<activity android:name=".OtherActivity" android:label="@string/other" /> <!-- 在res/values/strings.xml中增加other的定义 <string name="other">It's other activity!</string> -->
</application >
</manifest>
五、使用Intent在Activity之间传递数据的基本方法
两个Activity之间通过intent传值intent.setClass(Activity1.this, OtherActivity.class);
键值对的传递intent.putExtra("testIntent", "123");//传递额外的值
另一程序中
Intent intent = getIntent();
//得到从前一个Activity传递进来的Intent
String value = intent.getStringExtra("testIntent");
不在同一程序中的Activity也可传递(发送短信)
Uri uri = Uri.parse("smsto://0800000123");
Intent intent = new Intent(Intent.ACTION_SENDTO,uri);
intent.putExtra("sms_body", "This");
startActivity(intent);
相关文章推荐
- Android_View,ViewGroup,Window之间的关系 android activity,intent,service是什么关系?
- 一、概述 EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间
- android 中View, Window, Activity, WindowManager,ViewRoot几者之间的关系
- 借助Intent实现Android工程中Activity之间Java对象的传递——实现Parcelable接口
- android面试题-ActivityRecord TaskRecord和ProcessRecord之间的关系
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
- Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable] .
- Android 两个activity之间 intent传值
- Android 中Activity,Window和View之间的关系
- Android中Activity和Intent之间的联系
- Android 中Activity,Window和View之间的关系
- android中View, Window, Activity, WindowManager,ViewRoot几者之间的关系
- (转)[Android_UI控件]Activity、Window、View之间的关系
- 细讲Android中Window、Activity和View之间的关系
- Android中Activity之间的数据传递和Intent使用
- Android 中Activity,Window和View之间的关系
- Android开发之使用Intent在Activity之间传递数据
- android中task、activity、apk之间的关系图
- Android之Activity之间的数据传递-intent-bundle
- android Activity之间通过Bundle和Intent传递数据