您的位置:首页 > 其它

(笔记)第二章 :先从看到的入手-探究活动

2017-05-16 14:19 411 查看
2.1和2.2的内容比较简单,没什么好记的,

2.3 Intent的基本用法

1.显示意图

显示意图需要传入两个参数:上下文和目标活动的class文件。

Intent intent = new Intent(FirstActivity.this ,SecondActivity.class);
startActivity(intent);


2.隐式意图

隐式意图需要根据标签下配置的内容,可以指定当前活动能够响应的action和category。

Intent intent = new Intent("com.example.activitytest.ACTION_START");
intent.addCategory("com.example.activitytest.MY_CATEGORY");
startActivity(intent);


隐式意图还有其他的用处,比如启动网页(http),电话等(tel),地图(geo).


Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);


Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);


在<intent-inlter>下配置<data>标签页的格式


<data android:scheme="http">


android:scheme 用于指定数据的协议部分,如上例的http部分
android:host   用于指定数据的主机名部分,如上例的www.baidu.com部分
android:post   用于指定数据的端口部分
android:path   用于指定主机和端口名之后
android:mimeType 用于指定可以处理的数据类型


3.传递数据

发送数据


Intent intent = new Intent(FirstActivity.this ,SecondActivity.class);
intent.putExtra("extraData","data");
startActivity(intent);


接收数据


Intent intent = getIntent();
String data = intent.getStringExtra("extraData");


4.返回数据给上一个活动

FirstActivity中调用startActivityForResult(intent,请求码)来启动SecondActivity;在SecondActivity中调用setResult(RESULT_OK,intent);这个方法是专门向上一个活动返回数据的,接收两个参数,第一个是用于向上一个活动返回处理结果,一般为RESULT_OK和RESULT_CANCELED这两个。第二个把带有数据的intent传递回去。我们使用startActivityForResult()方法来启动SecondActivity,当SecondActivity销毁的时候,会回调FirstActivity的onActivityResult(int requestCode,int resultCode, Intent data),第一个参数是启动活动时传入的请求码,第二个参数是返回数据时的处理结果,第三个就是携带数据的intent。

FirstActivity启动SecondActivity:

Intent intent = new Intent(FirstActivity.this ,SecondActivity.class);
startActivityForResult(intent,1);

SecondActivity 中使用setResult返回数据:
Intent intent = new Intent();
intent.putExtra("data_return","Hello FirstActivity");
setResult(RESULT_OK,intent);

接收SecondActivity返回的数据

protected void onActivityResult(int requestCode,int resultCode, Intent data){
switch(requestCode){
case 1:
if(resultCode == RESULT_OK){
String data = data.getStringExtra("data_return");
}
}
}


2.4 activity的生命周期

onCreate() , onStart() ,onResume() , onPause() ,onStop() , onDestory() ,onRestart().

2.5 activity的启动模式

standard ,singleTop ,singleTast ,singleInstance
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: