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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值