05 Activity知识
1.Activity
>概念:活动面板 应用程序组件 可以绘制Ui界面 可以和用户进行交互
默认展示全屏 其他情况 界面比其他窗口小 悬浮在其他窗口上方
>创建一个Activity
>1,创建一个类继承Activity
>2,给Activity 添加生命周期方法 oncreate()
>3,要在清单文件进行注册 ,Application里进行注册 <activity name="包名.类名">
2.启动其他的Activity
>
* 得到Intent(意图对象) Activity Fragment Service BroadCastReceiver
* 参数1:上下文对象 当前是Activity
* 参数2:目标Activity SecondActivity.class
传值方式:4种
3.Intent传值
>1,直接进行传值 传基本数据类型
>2,通过Bundle对象 传递基本数据类型
>3,直接传递对象 对象要进行序列化
>4,通过Bundle对象 传递Object对象 对象要进行序列化
4,startActivityForResult传值
>1,使用startActivityForResult(intent, REQUEST_CODE); 启动intent
>2,在另一个Activity中 setResult(RESULT_CODE, intent); 返回数据
>3,在当前Activity中 onActivityResult()方法中处理结果
5.使用Application 实现传值功能
application:代表应用程序
>1,自己创建一个Application 在清单文件中替换原有的Application
>2,在某一个Activity中Application里的内容 设置值 ,在另一个Activity中 获取值
6,静态变量传值(Android不建议使用)(了解)
6.Activity的生命周期******************
>
/**
* 程序第一次启动时调用
* 作用:加载界面 初始化控件 事件监听
*/
protected void onCreate(Bundle savedInstanceState)
/**
* Ui界面显示时调用 ,用户没有获取焦点
*/
protected void onStart() {
/**
* 用户获取焦点时 调用 重新获取数据
*/
protected void onResume() {
/**
* 用户失去焦点时调用
*/
protected void onPause() {
/**
* 用户界面被完全遮挡
*/
protected void onStop() {
/**
* 界面被完全遮盖之后 从新回到当前的Activity
*/
protected void onRestart() {
/**
* Activity被销毁时调用 关闭资源
*/
protected void onDestroy() {
>进入到第一个Activity
08-26 08:33:30.255: E/MainActivity(1492): =====onCreate========
08-26 08:33:30.255: E/MainActivity(1492): =====onStart========
08-26 08:33:30.255: E/MainActivity(1492): =====onResume========
>从第一个Activity进入到第二个Activity
08-26 08:34:01.895: E/MainActivity(1492): =====onPause========
08-26 08:34:02.306: E/SecondActivity(1492): =====onCreate========
08-26 08:34:02.315: E/SecondActivity(1492): =====onStart========
08-26 08:34:02.315: E/SecondActivity(1492): =====onResume========
08-26 08:34:03.626: E/MainActivity(1492): =====onStop========
>点击返回按钮 第二个Activity返回到第一个Activity
08-26 08:34:35.185: E/SecondActivity(1492): =====onPause========
08-26 08:34:35.215: E/MainActivity(1492): =====onRestart========
08-26 08:34:35.215: E/MainActivity(1492): =====onStart========
08-26 08:34:35.226: E/MainActivity(1492): =====onResume========
08-26 08:34:36.065: E/SecondActivity(1492): =====onStop========
08-26 08:34:36.065: E/SecondActivity(1492): =====onDestroy========
>在点击返回按钮 从第一个界面返回到桌面
08-26 08:35:22.876: E/MainActivity(1492): =====onPause========
08-26 08:35:24.225: E/MainActivity(1492): =====onStop========
08-26 08:35:24.225: E/MainActivity(1492): =====onDestroy========
7,Activity现场保护
>存数据:onSaveInstanceState()
>取数据:
>1,//方法一; 在onCreate()
>2,//方法二; onRestoreInstanceState()
>概念:活动面板 应用程序组件 可以绘制Ui界面 可以和用户进行交互
默认展示全屏 其他情况 界面比其他窗口小 悬浮在其他窗口上方
>创建一个Activity
>1,创建一个类继承Activity
>2,给Activity 添加生命周期方法 oncreate()
>3,要在清单文件进行注册 ,Application里进行注册 <activity name="包名.类名">
2.启动其他的Activity
>
* 得到Intent(意图对象) Activity Fragment Service BroadCastReceiver
* 参数1:上下文对象 当前是Activity
* 参数2:目标Activity SecondActivity.class
传值方式:4种
3.Intent传值
>1,直接进行传值 传基本数据类型
>2,通过Bundle对象 传递基本数据类型
>3,直接传递对象 对象要进行序列化
>4,通过Bundle对象 传递Object对象 对象要进行序列化
4,startActivityForResult传值
>1,使用startActivityForResult(intent, REQUEST_CODE); 启动intent
>2,在另一个Activity中 setResult(RESULT_CODE, intent); 返回数据
>3,在当前Activity中 onActivityResult()方法中处理结果
5.使用Application 实现传值功能
application:代表应用程序
>1,自己创建一个Application 在清单文件中替换原有的Application
>2,在某一个Activity中Application里的内容 设置值 ,在另一个Activity中 获取值
6,静态变量传值(Android不建议使用)(了解)
6.Activity的生命周期******************
>
/**
* 程序第一次启动时调用
* 作用:加载界面 初始化控件 事件监听
*/
protected void onCreate(Bundle savedInstanceState)
/**
* Ui界面显示时调用 ,用户没有获取焦点
*/
protected void onStart() {
/**
* 用户获取焦点时 调用 重新获取数据
*/
protected void onResume() {
/**
* 用户失去焦点时调用
*/
protected void onPause() {
/**
* 用户界面被完全遮挡
*/
protected void onStop() {
/**
* 界面被完全遮盖之后 从新回到当前的Activity
*/
protected void onRestart() {
/**
* Activity被销毁时调用 关闭资源
*/
protected void onDestroy() {
>进入到第一个Activity
08-26 08:33:30.255: E/MainActivity(1492): =====onCreate========
08-26 08:33:30.255: E/MainActivity(1492): =====onStart========
08-26 08:33:30.255: E/MainActivity(1492): =====onResume========
>从第一个Activity进入到第二个Activity
08-26 08:34:01.895: E/MainActivity(1492): =====onPause========
08-26 08:34:02.306: E/SecondActivity(1492): =====onCreate========
08-26 08:34:02.315: E/SecondActivity(1492): =====onStart========
08-26 08:34:02.315: E/SecondActivity(1492): =====onResume========
08-26 08:34:03.626: E/MainActivity(1492): =====onStop========
>点击返回按钮 第二个Activity返回到第一个Activity
08-26 08:34:35.185: E/SecondActivity(1492): =====onPause========
08-26 08:34:35.215: E/MainActivity(1492): =====onRestart========
08-26 08:34:35.215: E/MainActivity(1492): =====onStart========
08-26 08:34:35.226: E/MainActivity(1492): =====onResume========
08-26 08:34:36.065: E/SecondActivity(1492): =====onStop========
08-26 08:34:36.065: E/SecondActivity(1492): =====onDestroy========
>在点击返回按钮 从第一个界面返回到桌面
08-26 08:35:22.876: E/MainActivity(1492): =====onPause========
08-26 08:35:24.225: E/MainActivity(1492): =====onStop========
08-26 08:35:24.225: E/MainActivity(1492): =====onDestroy========
7,Activity现场保护
>存数据:onSaveInstanceState()
>取数据:
>1,//方法一; 在onCreate()
>2,//方法二; onRestoreInstanceState()