Android的四大组件是Activity,Service,Contentprovider,BroadcastReceiver。
Activity是Android应用中负责与用户交互的组件——大致上把它想象成Swing编程中的JFrame控件。Activity为Android应用提供里可视化用户界面,如果该Android应用需要多个用户界面,那么这个Android应用将会包含多个Activity,多个Activity组成Activity栈。当前活动的Activity位于栈顶。
Service与Activity的地位是并列的,它也代表一个单独的Android组件。Service与Activity的区别在于:Service通常位于后台运行,它一般不需要与用户交互,因此Service组件没有用户图形界面。
与Activity组件需要继承Activity基类相似,Service组件需要继承Service基类,一个Service组件被运行起来之后,它将拥有组件独立的生命周期,Service组件通常用于为其他组件提供后台服务或监控其他组件的运行状态。
对于Android应用而言,他们必须相互独立,各自运行在自己的进程中,如果这些Android应用之间需要实现实时的数据交换。例如:我们开发了一个发送短信的程序,当发送短信时需要从联系人管理应用中指定联系人的数据。这就需要多个应用程序之间进行数据交换。完成这一交换任务的就是ContentProvider组件。(www.daowen.com)
通常与ContentProvider结合使用的是ContentResolver,一个应用程序使用ContentProvider暴露这里的数据,而另一个应用程序则通过ContentResolver来访问数据。
BroadcastReceiver是Android应用中另一个重要的组件,顾名思义,BroadcastReceiver代表广播消息接收器,从代码实现角度来看,BroadcastReceiver非常类似于事件编程中的监听器。与普通监听器不同的是,普通监听器监听的事件源是程序中的对象,而BroadcastReceiver监听的事件源是Android应用中的其他组件。
使用BroadcastReceiver组件接收广播消息比较简单,开发者只要实现自己的BroadcastReceiver子类,并重写相关方法即可。当其他组件通过几种方式发送广播消息时,如果BroadcastReceiver对该消息感兴趣(注册广播监听),BroadcastReceiver就会被自动出发。通常有两种方式来注册这个广播:(1)在Java代码中配置;(2)在AndroidMainifest.xml配置文件中配置。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。