阅读背景:

Intent跳转与传值总结

来源:互联网 
/*----------------------------------------
 *-描述--Intent跳转与传值总结.
 *-描述--S1.Intent描述
 * Intent的分类
 * 1.显式意图  通常是指intent启动目标组件时明确指定了组件的名称的情况
 *     一般是用在启动同一个应用程序中的组件
 * 2.隐式意图  通常是指intent启动目标组件时没有明确指定了组件的名称的情况
 *    只是指定了启动组件的特征,一般情况下是用在启动不同应用中的组件
 *
 * 如果目标组件没有指定intent-filter意图过滤器只能通过显式启动
 * 如果指定了intent-filter意图过滤器既可以通过显式启动也可以通过action categroy的隐式启动
 *
 * 隐式启动的规律总结:
 * 1.action标签必须存在
 * 2.intent-filter意图过滤器中可以存在多个action category data标签,只要intent对象中能与属性
 *    对应列表中的某一个标签匹配即可启动
 * 3.一般情况隐式启动时通过action和category标签作为启动标示即可
 *-描述--S2.添加显示或隐式意图
 * >>添加显示意图
 *  SS1.新建的类继承-android.app.Activity;
 *  SS2.在清单文件AndroidManifest.xml中注册创建的Activity;
 *  SS3.添加新的Activity视图;
 *  SS4.java代码调用新建的Activity,Context.startActivity(意图对象)
 * >>添加隐式意图
 *  SS1.新建的类继承-android.app.Activity;
 *  SS2.在清单文件AndroidManifest.xml中注册创建的多个隐式意图;
 *      intent-filter action配置相同
 *      隐式意图调用,可以选择多个页面(相同的action)
 *  S3.java代码调用新建的Activity,Context.startActivity("")
 *-描述--S3.Intent传值相关描述
 * >>Intent存入传递的值
 *  intent.putExtra(key,value) key是String类型的键,值可以是基本数据类型(数组)、系列化的对象等
 *  intent.putExtras(key,value) value可以是Intent或Bundle
 *      Bundle可以传递基本数据类型(数组)、String、实现Parcelable/Serializable接口的对象、IBinder和
 *      另一个Bundle等
 * >>获取传递过来Intent中的值
 *  getIntent()
 *  intent.getXXXExtra()
 *-描述--S4.Activity值的回传
 * >>A页面=>B页面
 *  startActivityForResult(intent, REQUEST_CODE) 启动活动(intent,请求码)   //A页面
 *      根据请求码判断是否是对应程序段发出的请求
 *  setResult(Activity.RESULT_OK, intent) 返回结果 //B页面
 *      RESULT_OK结果码,data-要返回的数据
 *  onActivityResult(int requestCode, int resultCode, Intent data)  //A页面
 *      B结束后调用的A方法,requestCode-A发出的请求码,resultCode-B设置的结果码,data-B回传的数据
 *-描述--S5.通过Application传值
 *  TestApplication extends Application
 *  testApplication (TestApplication) getApplication(); //A页面
 *  testApplication.getXXX //B页面
 *-描述--B1.None.
 *-------------------------------------------------------------------------------------------------------------------



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: