Android的四大组件
来源:互联网 发布:国泰君安富易软件 编辑:程序博客网 时间:2024/04/27 18:19
Activity
概念:四大组件之一,对于开发者而言相当于一个入口,对用户而言相当于手机的界面
四种状态:
运行态:界面可见,可以交互
暂停态:界面可见,不可交互
停止态:界面不可见,不可交互
销毁态:程序被杀死
七个方法:onCreate()、onStart()、onResume()、onPuse()、onStop()、onRestart()、onDestory()
点击应用程序的图标:onCreate()àonStart()àonResume()
跳转:
完全覆盖:onPuse()àonStop()
半覆盖:onPuse()
点击返回按钮:onPuse()àonStop()àonDestory()
点击Home键:onPuse()àonStop() 再点击图标:onRestart()àonStart()àonResume()
两个方法:
onSaveInstanceState():手机横竖屏切换时被调用
onRestoreInstanceState():还原手机状态
手机横竖屏切换时生命周期:
onCreate()àonStart()àonResume()àonSaveInstanceState()àonPuse()àonStop()à
onDestory()àonCreate()àonStart()àonResume()àonRestoreInstanceState()
四种启动模式:
Standard:默认的
SingleTop:只有在栈顶的时候才不会新建
SingleTask:把所有的全部删掉
SingleInstance:新建一个栈
Service
概念:四大组件之一,是运行在后台的组件
Service分为两种服务:
本地服务和绑定服务
当值需要返回给Activity时要用绑定服务,不需要时用本地服务
本地服务启动方式:
startService(Intentintent);
本地服务生命周期:
onCreate()àonStartCommond()àonDestory()
当启动服务的activity结束了,服务会正常运行在系统中,而且activity获得不了
service中的数据
绑定服务启动方式:
bindService(Intentintent,ServiceConnection ,Binder_auto_create)
绑定服务生命周期:
onCreate()àonBind()àonUnbind()àonDestory()
activity和service相当于一个整体,当启动服务的activity结束了,服务也会结束,
activity可以获得service中的数据
ContentProvider
概念:四大组件之一,把自己的接口暴露给其他应用,使自己的数据能够让其他应用能够使
用,解决进程之间数据共享的问题
URI:统一资源标识符,其中URL是Uri中特殊的一种
URL:统一资源定位器,代表着网络请求地址
URI的规范:
Content://com.baidu.map/user
URL的规范:
http://ip:端口号/项目名/资源名
两个方法:
UriMatcher:这个类是系统的帮助类,主要用来匹配uri的
ContentUris:帮助类,拼接ID到uri中或者截取uri中ID的值
自定义ContentProvider:
1. 定义类继承ContentProvider实现六个方法:
getType():放回数据的Mime-type值,自定义的情况下一般不会使用该方法,不用
关注太多
onCreate():实例化数据库获得SQLiteDatabase对象
delete()
insert()
query()
update()
2. 在Mainfest文件中配置:
<provider
android:name:””
android:authorities=”域名”
/>
Android广播的使用
广播作用:可以把广播比喻成为一个系统级的监听器,可以时刻监听手机的状态发生变化,比如说,手机网络信号强度,手机电池电量,收到短信,收到电话等。
使用广播:
新建类继承BroadCastReceiver重写onReceiver() 方法
在AndroidManifast.xml注册广播
静态注册广播
<receiverandroid:name="com.bawei.demo.activity.MyReceiver">
<intent-filter >
<actionandroid:name="com.bawei.demo.MY_RECEIVER"/>
</intent-filter>
</receiver>
不需要手动注销这个广播,不是不能注销,因为我们想一直使用这个广播。静态注册的广播不管应用程序是否启动或者运行,广播依然有效。
动态注册广播通过Java代码
MyReceiverreceiver=new MyReceiver();
IntentFilterfilter=new IntentFilter(ACTION);
registerReceiver(receiver,filter); //注册广播
//注销广播
unregisterReciver(receiver);
这种广播使用起来比较随便,可是随时注销。
广播的使用场景:不是固定的,根据不同的业务需求来决定。
系统广播不需要我们主动调用某些方法发送广播,系统会自动发送。我们只需要在重写OnReceiver方法,然后实现不同的功能即可。
- Android的四大组件
- Android的四大组件
- Android的四大组件
- Android的四大组件
- Android的四大组件
- Android的四大组件
- android的四大组件
- Android的四大组件
- Android的四大组件
- Android的四大组件
- Android的四大组件
- Android的四大组件
- android的四大组件
- Android的四大组件
- android的四大组件解析
- Android的四大组件 简介
- android四大组件的 基本知识
- Android四大组件的生命周期
- Android随身记
- 黑马程序员-Java中的properties类
- java的字符串常量池(转)
- 黑马程序员——java多线程的两种实现方式
- iOS7.0 UILabel 字符串的绘制和自动换行
- Android的四大组件
- apt-get指令的autoclean,clean,autoremove的区别
- 数据不需要自由,但需要做爱
- myeclipse 选中文字的操作方式
- 【读书笔记】【收获,不止Oracle】位图索引(2)
- Code Forces 414B 挺不错的递推动规
- 第06章-图像处理及可视化(2)
- 如何编写C2000片内Flash?
- 实际用户ID,有效用户ID及设置用户ID详解