1:Actiivty
用户可以看见并可以操作的界面
Activity开启方式:startActivityForResult
:startActivity
Activity生命周期: onCreate onStart onResume onPause onStop onDestroy onRestart
横竖屏切换的生命周期 :先销毁activity然后在创建一个新的activity
activity的启动模式:
1:stardand (标准模式)
2:singleTop (单一顶部模式)
3:singleTask (单一任务模式)
4:singleInstance (单一实例模式)
intent(意图) 作用:开启组件,传递数据
开启组件: activity BroadcastReceiver service
传递数据: java中八大基本类型及其数组
serializable
Parcelable
bundle
intent
分类: 显示意图 直接指定类的字节码文件
应用场景:开启自己应用中的组件
优点:代码书写简单,效率高
隐示意图 开启目标组件,回去匹配意图过滤器,如果匹配成功则开启,如果匹配失败,则抛出异常.
应用场景:开启自己后其他应用程序中的组件
优点:代码书写复杂,效率低
2:BroadcastReceiver(广播接收着) :系统通过广播群发消息,只要注册了的接受者都可以接收
特点:只要安装在手机上的接收者,不管有没有启动,都可以接收特定的广播.
版本差异:如果用户强制停止了广播接收者,低版本可以接收特定的广播,高版本不可以,如果想要接收,重新启动一次应用即可
常见的系统广播:
SD卡插拔
应用程序卸载与安装
外拨电话
短信到来
屏幕锁屏解锁
电池电量变化
注册方式:
在清单文件中注册
在代码中注册
分类:
无序广播:
只要接受者注册了广播特定动作,就可以接受广播
有序广播:
接受者按照有先级从高到底一级一级底接受广播
优点: 优先级 1000 ~ ~ -1000 优先级默认是0
高优先级的接受者可以拦截终止广播
可以指定最终的广播接受者:无论前面的接受者咋么拦截终止广播,它都是最后一个接受到广播的,不需要在清单文件中注册
3:Service(服务)
AIDL(进程间通信)
4:ContentProvider(内容提供者)