Activity
概念:
android四大组件之一,activity可以理解为手机上地一个界面,一个程序的入口。
四种状态:
运行态:用户与界面处于可见可交互状态
暂停态:用户与界面处于可见但不可交互状态
停止态:用户与界面处于不可见不可交互状态
销毁态:程序被销毁了
七个方法:
onCreate() 、onStart() 、onPause() 、onResume()
、onStop() 、onRestart() 、onDestroy()
当用户:
点击图标,调用 onCreate() 、 onStart() 、 onPause()
跳转:1)完全覆盖,调用 onResume()、 onStop()
2)半透明,调用 onResume()
点击返回按钮,调用 onPause()
点击Home键,调用 onResume()、 onStop() 。
再次点击,调用 onRestart() 、 onStart() 、 onPause()
点击返回按钮,调用 onResume()、 onStop() 、 onDestroy()
手机横竖屏切换,调用onCreate() 、 onStart() 、 onPause()、onSaveInstancestate()、
onResume() 、 onStop() 、 onDestroy()、 onCreate() 、
onStart() 、onPause()、onRestoreInstancestate()
四种启动模式:
Standard:标准模式,这是默认的加载模式
singleTop:Task顶单例模式,栈顶,不会创建
singleTask:Task内单例模式,之前的全部Remove
singleInstance:全局单例模式,单独在一个页面
ContentProvider 内容提供者
概念:
Android的四大组件之一
解决线程之间的数据共享的问题,把自己应用中的数据(数据库或者本地文件)暴露给其他应用
URI:
统一资源标识符,其中URL是UTI中特殊的一种网络请求地址。
uri的规范:
content//com.Baidu.map/user -请求 Path
url:
http://ip:端口号/项目名/资源名
urlMatcher:
这个类 是系统提供的帮助类,主要是用来匹配uri的
urimatcher.addUri("authority","path",int code)
Stringuri_user = "Content://com.Baidu.map.user"
Uriuri = Uri.parse(uri_str)
intcode = urimatcher.match(Uri);
ContentUris:帮助类,拼接id到uri或者截取uri中的id.值
Stringuri_user = "Content://com.Baidu.map.user"
Uriuri = Uri.parse(uri_str)
Urinew_uri = Content.Uris.with.AppendedID(Uri.10)
longid = ContentUris.parseID(new_uri);
自定义ContentProvider
1. 定义类继承ContentProvider,实现6个方法
getType()//返回数据的Mime_type值,自定义的情况下一般用不到
Oncreate()//实例化数据库获得SQliteDataBase对象
delete()
insert()
query()
update()
2.在Manifest文件中配置
<provider>
android:name="com.houshan.demo.provider.MyProvider"
android:authorities="com.houshan.demo.provider"
android:exported= "true"
</provider>
Service 服务
概念:
四大组件之一,与Activity同级,运行在后台的服务,监听软件的后台运行。例如qq后台运行,音乐播放器等…
分为本地服务于绑定服务:
是否把数据返回给Activity
本地服务:不返回
生命周期:StartService(), Oncreate(), OnstartCommand(), OnDestory()
绑定服务:返回
bindService(Intent,ServiceConnection)
UnbindService(intent)
Oncreate() OnBind() 解绑:onUnbind() onDestory()
在Onbind函数中返回Bind对象,在ServiceConnection中通过onServiceConnected()
得到服务返回Binder对象。
系统控制调用:OnServiceDisConnected();
BroadcastReceiver 广播
概念:
也是四大组件之一,这种组件本质上就是一种全局的监听器,用于监听系统全局的广播消息。
它可以非常方便的实现系统中不同组件之间的通信。
广播分为两种:
静态广播:不管应用程序是否运行或者启动,广播都其作用,灵活性比较低
<receiverandroid:name="com.baidu.BoadcastReceiver">
<intent-filter>
<actionandroid:name="com.baidu.MY_RECEIVER"/>
</intent-filter>
<receiver>
Intent intent=newIntent("com.baidu.MY_RECEIVER");
动态广播:必须要注册之后,广播才能生效
IntentFilterintentfilter=new IntentFilter();
intentFilter.setAction("com.baidu.MY_RECEIVER");
MyBroadCastReciver my=new MyBroadCastReceiver();
registerReceiver(my,intentfilter);
发送广播:sendBroadCastReceiver();
什么地方用到了广播:
广播截取短信,广播监听手机信号强度,广播监听系统来电
开机自启动项目或者服务
即时通信收到服务器发送的消息发送广播给系统 通知显示信息
MP3音乐播放器音乐播放完毕 发送广播 自动播放下一首