一:activity的理解

1.活动:四大应用组件之一
2.作用:提供能让用户操作并与之交互的界面
3.组件的特点:
    它的类必须实现特定接口或继承特定类
    需要在配置文件中配置全类名
    它的对象不是通过new来创建的,而是系统自动创建的
    它的对象具有一定的声明周期,它的类中有对应得生命周期回调方法
4.那些地方用到反射技术:(android)
    a.配置文本中配置全类名
    b.布局文件定义标签
    c.显示意图:Intent(Context context,Class c)

二:Intent的理解

1.意图:信使(activity,service,broadcastReceiver三个组件间通信的信使)
2.分类:
    显式:操作当前应用自己的组件
    隐式:操作其他应用自己的组件

三:Intent的使用

1.创建:
    显式:Intent(Content content,Class activityClass)
    隐式:Intent(String action)    //与Activity的<intent-filter>的action匹配
2.携带数据
    额外:PutExtra(String key,Xxx value) 内部用map容器保存
    有特定前缀:setData(Uri data) //tel:123。smsto:123123
3.读取数据
    额外:Xxx getXxxExtra(String key)
    有特定前缀:Uri getData()

四:activity的使用 *****
1.定义

a.定义一个类 extends Activity,并重写声明周期方法
    b.在功能清单文件中使用<activity>注册

2.启动

a.一般启动:startActivity(Intent intent)
b.带回调启动:startActivityForResult(Intent intent,int requestCode)
    重写:onActivityResult(int requestCode,int resultCode ,Intent data)

3.结束

a.一般结束:finish()
b.带结果结束:setResult(int resultCode,Intent data)

五:activity生命周期

activity界面的四种状态:
    运行状态:可以可操作
    暂停状态:可见不可操作
    停止状态:不可见,但对象存在
    死亡状态:对象不存在

不存在 onCreate() 停止 onStart() 暂停 onResume() 运行
运行 onPause() 暂停 onStop() 停止 onDestory() 不存在

1.界面从"死亡"--》"运行"
    创建对象 --》onCreate() --》onStart() --》onResume()
2.界面从"运行"--》"死亡"
    onPause() --》onStop() --》onDestory()
3.界面从"运行"--》"停止"
    onPause() --》onStop()
4.界面从"停止"--》"运行"
    onRestart() --》onStart() --》onResume()
5.界面从"运行"--》"暂停"
    onPause()
6.界面从"暂停"--》"运行"
    onResume()

onCreate():加载布局和初始化工作
onResume():只有经历此方法,才能进入运行状态
onDestroy():在对象死亡之前,做一些收尾或清理的工作

六:Activity的TaskStack:

1.在android中,系统用TaskStack结构来存储管理启动的Activity对象
2.一个应用启动,系统就会为其创建一个对应得TaskStack来存储并管理该  应用的Activity对象
3.只有最上面的任务栈的栈顶的Activity才能显示在窗口中

七:Activity的launchMode(加载模式):

在android中,启动一个Activity有时创建一个新对象,有时需要复用已有    的对象,可以配置activity时通过launchMode属性指定。
launchMode属性值(4个)为:
    standard:每次调用startActivity()方法就会产生一个新的实例
    singleTop:若实例为栈顶时则不产生新的实例
    singleTask:只有一个实例,默认在当前Task中
    singleInstance:只有一个实例,创建时会新建一个栈,且此栈中不   能有其他对象

八:总结

1.实现一个简单功能的应用的步骤
a.外观:分析界面组成,定义布局文件
b.行为:编写Activity的实现
    1).在onCreate()中加载布局文件:setContentView(layoutId)
    2).调用findViewById得到需要操作的所有视图对象并保存为成员变量
    3).给视图对象设置监听器(点击/长按),在回调方法实现响应逻辑
2.使用隐式意图启动系统应用的界面
如何找到对应得Action字符串:
    添加ActivityManager的Log日志,利用系统应用源码找到对应的Activity的配置
3.权限:当调用一些系统比较重要的功能时需要声明