Android中四大组件(四大天王)
2016-07-21 14:51
260 查看
Activity
Activity的生命周期(其他博文中有详细)
注意点:被其他Activity覆盖当前Activity进入OnPasue(), 启动其他Acitivity当前Acitivity进入OnStop()。
Activity的启动模式(其他博文中有详细)
注意点: Standard:只要新启动就会重新创建
singleTop:在栈顶不会创建,不在栈顶就新创建
singleTask:原栈中有,会销毁在此Activity之上的,没有则新建
singleInstance:不管多少,只有一个存在于系统中。单独看做一个任务栈。
PS:
Fragment.嵌套在Activity中使用的,用于多屏幕展示。一个Activity中可以创建多个Fragment。
Service
Service是Android中实现程序后台运行的解决方案。
注意:虽然是“后台”,但是也是在UI线程中执行,不是在子线程中执行,不要在Service中做耗时操作。
IntentService中,复写onHandleIntengt函数,可以直接在该函数中完成耗时操作。
也可以前台显示:比如天气在通知栏中的显示。
Broadcast
广播可以有任意个接收着。
有三个基本要素:发送广播的Broadcast , 接收广播的BroadcastReceiver , 传递信息的 Intent 。
分为四类:普通广播,有序广播,本地广播,Sticky广播。
普通广播:传递信息的效率较高。但是,接收者不能将处理的结果传给下一个,并且无法终止Intent的传送,直到没有接收者为止。
有序广播:根据优先级来发送广播,通过属性这只可以完成。
本地广播:有时候并不需要把信息广播给所有应用,而只是进程内使用,这个时候用本地广播较好。
sticky广播:发送的广播会一直滞留,当有匹配此广播的接收器被注册,接收器就会接收到。 但是此广播只保留最后一条广播。
ContentProvider
对外共享数据,比如本应用与其他应用需要交互的时候,需要ContentProvider把应用中的数据共享给其他应用访问。
实际上是对SQliteOpenHelper的进一步封装,通过Uri映射来判断需要操作数据库中的哪一个表,并进行处理。
Uir代表要操作的数据表的绝对路径。
通配符: “ * ”代表任意长度的任意字符, “ # ”代表任意长度的数字。
Activity
Activity的生命周期(其他笔记中有)
注意点:被其他Activity覆盖当前Activity进入OnPasue(), 启动其他Acitivity当前Acitivity进入OnStop()。
Activity的启动模式(其他笔记中有)
注意点: Standard:只要新启动就会重新创建
singleTop:在栈顶不会创建,不在栈顶就新创建
singleTask:原栈中有,会销毁在此Activity之上的,没有则新建
singleInstance:不管多少,只有一个存在于系统中。单独看做一个任务栈。
PS:
Fragment.嵌套在Activity中使用的,用于多屏幕展示。一个Activity中可以创建多个Fragment。
Service
Service是Android中实现程序后台运行的解决方案。
注意:虽然是“后台”,但是也是在UI线程中执行,不是在子线程中执行,不要在Service中做耗时操作。
IntentService中,复写onHandleIntengt函数,可以直接在该函数中完成耗时操作。
也可以前台显示:比如天气在通知栏中的显示。
Broadcast
广播可以有任意个接收着。
有三个基本要素:发送广播的Broadcast , 接收广播的BroadcastReceiver , 传递信息的 Intent 。
分为四类:普通广播,有序广播,本地广播,Sticky广播。
普通广播:传递信息的效率较高。但是,接收者不能将处理的结果传给下一个,并且无法终止Intent的传送,直到没有接收者为止。
有序广播:根据优先级来发送广播,通过属性这只可以完成。
本地广播:有时候并不需要把信息广播给所有应用,而只是进程内使用,这个时候用本地广播较好。
sticky广播:发送的广播会一直滞留,当有匹配此广播的接收器被注册,接收器就会接收到。 但是此广播只保留最后一条广播。
ContentProvider
对外共享数据,比如本应用与其他应用需要交互的时候,需要ContentProvider把应用中的数据共享给其他应用访问。
实际上是对SQliteOpenHelper的进一步封装,通过Uri映射来判断需要操作数据库中的哪一个表,并进行处理。
Uir代表要操作的数据表的绝对路径。
通配符: “ * ”代表任意长度的任意字符, “ # ”代表任意长度的数字。
Activity的生命周期(其他博文中有详细)
注意点:被其他Activity覆盖当前Activity进入OnPasue(), 启动其他Acitivity当前Acitivity进入OnStop()。
Activity的启动模式(其他博文中有详细)
注意点: Standard:只要新启动就会重新创建
singleTop:在栈顶不会创建,不在栈顶就新创建
singleTask:原栈中有,会销毁在此Activity之上的,没有则新建
singleInstance:不管多少,只有一个存在于系统中。单独看做一个任务栈。
PS:
Fragment.嵌套在Activity中使用的,用于多屏幕展示。一个Activity中可以创建多个Fragment。
Service
Service是Android中实现程序后台运行的解决方案。
注意:虽然是“后台”,但是也是在UI线程中执行,不是在子线程中执行,不要在Service中做耗时操作。
IntentService中,复写onHandleIntengt函数,可以直接在该函数中完成耗时操作。
也可以前台显示:比如天气在通知栏中的显示。
Broadcast
广播可以有任意个接收着。
有三个基本要素:发送广播的Broadcast , 接收广播的BroadcastReceiver , 传递信息的 Intent 。
分为四类:普通广播,有序广播,本地广播,Sticky广播。
普通广播:传递信息的效率较高。但是,接收者不能将处理的结果传给下一个,并且无法终止Intent的传送,直到没有接收者为止。
有序广播:根据优先级来发送广播,通过属性这只可以完成。
本地广播:有时候并不需要把信息广播给所有应用,而只是进程内使用,这个时候用本地广播较好。
sticky广播:发送的广播会一直滞留,当有匹配此广播的接收器被注册,接收器就会接收到。 但是此广播只保留最后一条广播。
ContentProvider
对外共享数据,比如本应用与其他应用需要交互的时候,需要ContentProvider把应用中的数据共享给其他应用访问。
实际上是对SQliteOpenHelper的进一步封装,通过Uri映射来判断需要操作数据库中的哪一个表,并进行处理。
Uir代表要操作的数据表的绝对路径。
通配符: “ * ”代表任意长度的任意字符, “ # ”代表任意长度的数字。
Activity
Activity的生命周期(其他笔记中有)
注意点:被其他Activity覆盖当前Activity进入OnPasue(), 启动其他Acitivity当前Acitivity进入OnStop()。
Activity的启动模式(其他笔记中有)
注意点: Standard:只要新启动就会重新创建
singleTop:在栈顶不会创建,不在栈顶就新创建
singleTask:原栈中有,会销毁在此Activity之上的,没有则新建
singleInstance:不管多少,只有一个存在于系统中。单独看做一个任务栈。
PS:
Fragment.嵌套在Activity中使用的,用于多屏幕展示。一个Activity中可以创建多个Fragment。
Service
Service是Android中实现程序后台运行的解决方案。
注意:虽然是“后台”,但是也是在UI线程中执行,不是在子线程中执行,不要在Service中做耗时操作。
IntentService中,复写onHandleIntengt函数,可以直接在该函数中完成耗时操作。
也可以前台显示:比如天气在通知栏中的显示。
Broadcast
广播可以有任意个接收着。
有三个基本要素:发送广播的Broadcast , 接收广播的BroadcastReceiver , 传递信息的 Intent 。
分为四类:普通广播,有序广播,本地广播,Sticky广播。
普通广播:传递信息的效率较高。但是,接收者不能将处理的结果传给下一个,并且无法终止Intent的传送,直到没有接收者为止。
有序广播:根据优先级来发送广播,通过属性这只可以完成。
本地广播:有时候并不需要把信息广播给所有应用,而只是进程内使用,这个时候用本地广播较好。
sticky广播:发送的广播会一直滞留,当有匹配此广播的接收器被注册,接收器就会接收到。 但是此广播只保留最后一条广播。
ContentProvider
对外共享数据,比如本应用与其他应用需要交互的时候,需要ContentProvider把应用中的数据共享给其他应用访问。
实际上是对SQliteOpenHelper的进一步封装,通过Uri映射来判断需要操作数据库中的哪一个表,并进行处理。
Uir代表要操作的数据表的绝对路径。
通配符: “ * ”代表任意长度的任意字符, “ # ”代表任意长度的数字。
相关文章推荐
- 【Android 基础】 Parcelable 使用
- android apk 自我保护技术-完整性校验
- android:APK混淆中proguard.cfg/proguard-project.text脚本文件的编写知识
- Android调用相机之后在相册中找不到这个照片的解决办法
- 最简单的SD卡文件遍历Android程序
- 【Android】Error: Expected resource of type styleable [ResourceType]
- android用户信息保存
- android日期选择控件DatePicker小结
- ANDROID SHAPE画圆形背景实现圆形TextView
- Android studio关于Jar包 与aar包的导入与使用
- 解决Android MediaRecorder录制视频过短问题
- 最强理解:Android对EditText输入时设置监听即TextWatcher的用法
- 事件拦截机制分析(Android群英传)
- android中ExpandableListView的使用
- Android应用界面开发05
- android studio 导入以前的项目左边的项目名会全部变红
- 关于Fragment使用中遇到的异常:Fragment already added和fragment not attached
- Android launcher 开发笔记(三) 启动过程分析 part 2
- Activity是否显示
- Android launcher 开发笔记(三) 启动过程分析 part 1