android四大组件概括



              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:标准模式,这是默认的加载模式

         singleTopTask顶单例模式,栈顶,不会创建

         singleTaskTask内单例模式,之前的全部Remove

         singleInstance:全局单例模式,单独在一个页面

           

 

 

                    ContentProvider    内容提供者

概念:

         Android的四大组件之一

         解决线程之间的数据共享的问题,把自己应用中的数据(数据库或者本地文件)暴露给其他应用

URI

统一资源标识符,其中URLUTI中特殊的一种网络请求地址。

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:帮助类,拼接iduri或者截取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音乐播放器音乐播放完毕 发送广播 自动播放下一首







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值