Android入门之 intent 类学习心得

   在两个activity的切换时需要获知后一个activity的开关以及两个activity之间进行数据的传递,比如用以显示前一个activity的信息,或是对前一个活动的操作进行响应。

一、 启动第二个activity的最简单的方式是 startActivity方法:
public void startActivity(Intent intent)
activity调用以上方法后将调用请求传递给了操作系统的ActivityManager,Activity实例并调用其onCreate()方法,而intent类则用于判断启动哪个activity。
Intent 构造方法:public Intent(Context textpackageContext,Class<>cls),Class
类型参数告诉它打开哪个activity,而context 类型参数告诉ActivityManager在哪里可以找到它.如 Intent(quizactivity.this,cheatactivity.class),ActivityManager将在quizactivity中寻找到它,并打开cheatactivity。
同一应用不同activity之间使用指定context与class对象然后调用Intent方式创建Intent为显式intent,不同应用之间相互启动则通过隐式Intent
二、 两个activit之间传递数据信息通过以下方法实现:
public Intent putExtra(String name,数据类型 value)
String类型为传入Intent的常量健,用以传递value给Intent处理
三、 获取extra信息
getIntent().getBooleanRxtra(string常量,boolean value)
String类型常量用以接收extra信息,value值为当无法获取有效值时的默认量。(value类型可以是其他类型)
四、父activity接收子activity的信息
若要接收子activity反馈的信息,则通过以下方式启动子activity:
startActivityForResult(Intent value,int 常量)
在子activity中声明intent对象后通过 setResult(int resultCode,Intent data)形式设置返回结果,若不设置则父activity会受到Activity.RESULT_CANCELED结果
五、处理返回结果
父activity通过以下方法处理返回结果
protect void onActivityResult(int requestCode,int resultCode,Intent data)
requestCode为反馈信息的子activity的编号信息用以区分反馈的子activity,resultCode和data为子activity传入setResult()的结果代码以及Intent。
(以上举例给予传递boolean型参数判断boer类型是true还使false)。

你可能感兴趣的:(Android)