Activity


  一, 什么是Activity?


应用程序开发中包含多个Activity, 不同的Activity展示不同的可操作界面, 
android当中包含了多个Activity组成的栈, 叫做Activity栈, 当前活动的Activity位于栈的顶端.


手机的一个屏




  二, Activity的作用   (和用户进行交互)


显示用户的UI控件


监听UI控件的事件




  三, 如何创建一个Activity? 如何启动Activity?


1, 定义一个类, 继承Activity, 重新onCreate() 生命周期方法


onCreate()方法:  初始化Activity的组件


   在此方法中, 一般做三件事情:


1, 设置当前显示的页面 setContentView()


2, 查找或初始化控件


3, 事件的处理




2, 将B 页面的Activity在清单文件中注册





第一种方式:


第二种方式: 注意: 开始的package 属性值必须和你要注册的Activity的包名一致





android:label = "标签"   设置Activity的标题


android:icon = ""        设置Activity的图标


android:screenOrientation = "" 设置Activity的屏幕方向


属性值:  landscape   横向的  横屏


portrait     纵向的  竖屏
 
unspecified   默认的   系统自动选择展示的方向





3, 启动Activity  通过Intent意图对象, 来指定要启动的Activity为B页面


Intent对象的作用:

1, 包装Android的组件
2, 传值
3, 启动Adroid组件(activity, Service, BroadcastReceiver)


Intent intent = new Intent(当前Activiity.this,目标Activity.class);


startActivity(intent);






  四,两个Activity之间的传值


A  --->  B   启动B页面    通过 意图传值, 静态成员传值, 全局变量传值




A  --->  B  ---> A     启动B页面  将数据回传给A页面






1, 通过Intent意图传值


  方式一:


A  Intent intent = new Intent(MainActivity.this, InfoActivity.class);

  intent.putExtra(key,value);


  startActivity(intent);




B  Intent intent = getIntent();


  intent.getStringExtra(key);


  方式二:


A   Intent intent = new Intent(MainActivity.this, InfoActivity.class);


   Bundle bundle = new Bundle();


   bundle.putString(key,value);


   intent.putExtras(Bundle bundle);  特殊的map  key只能是string


   startActivity(intent);






B   Intent intent = getIntent();


   Bundle bundle = intent.getExtras();


   String sex = bundle.getString(key);



2, 静态成员传值(不建议使用)


A  声明一个公共的静态成员, 在合适的位置存入数据


B  直接访问A页面中静态成员, 读取相应的内容




3, 全局变量传值 -- Application (用户帐号)


1, 创建Application的子类, 并且在类中声明全局变量


2, 在清单文件中中, 通过android:name="" 引入




A   在合适的位置存入数据




B   取出数据


4, 回传数据

A   startActivityForResult(intent,requestCode);


B   setResult(resultCode, Intent data);


A   重写onActivityResult(requestCode,resultCode,data);








  五, Activity的生命周期




1, 人的生命周期


胎儿
婴儿
儿童
少年
青年
中年
老年
OVER

2, Activity的生命周期  (7个)   从创建到销毁的过程



onCreate() 第一次创建时执行 初始化Activity


onStart() 显示窗口时执行          显示Activity


onResume()      用户获取焦点时执行 与用户交互


onPause()       用户失去焦点时执行 停止与用户交换


onStop()        关闭窗口时执行 关闭Activity


onRestart()     重新显示窗口时执行      再次显示Activity


onDestroy()     销毁时执行 销毁Activity




 2.1  启动MainActivity时执行的生命周期


M:onCreate -- M:onStart -- M:onResume



 2.2  退出MainActivity时执行的生命周期


M:onPause -- M:onStop -- M:onDestroy



 2.3  从MainActivity启动InfoActivity时执行的生命周期


M:onPause -- I:onCreate -- I:onStart --I:onResume -- M:onStop


         对话框 M:onPause -- I:onCreate -- I:onStart --I:onResume



 2.4   当InfoActivity 退出时执行的生命周期


I:onPause -- M:onRestart -- M:onStart -- M:onResume -- I:onStop -- I:onDestroy




对话框 I:onPause -- M:onResume -- I:onStop -- I:onDestroy
   

更多相关文章

  1. Android(安卓)架构组件(一)——Lifecycle
  2. Android(安卓)多个Activity之间的跳转 超级简单例子
  3. Android开发历程_13(Service的使用)
  4. android 从第三方app打开方式添加自己的app
  5. Android(安卓)RRO机制的运用-----google开机向导客制化
  6. Android基础_页面布局_TableLayout(表格布局)
  7. android 键盘属性设置总结
  8. 关于android生命周期那点事
  9. 由Android屏幕旋转说起

随机推荐

  1. 解决Intellij Idea,Android(安卓)Stuido的
  2. android读短信
  3. InputStream输入流,读取数据实例
  4. Android跳转intent简单教程
  5. Android(安卓)day_10-02 (广播接收者的使
  6. Android(安卓)自定义 Toast 显示时间
  7. android获取短信所有内容
  8. Android(安卓)WebView 图片自适应屏幕宽
  9. Android学习札记36:一个关于onSaveInstanc
  10. 轮播网络图片加载适配