Android基础之四大组件

来源:互联网 发布:js style属性值 编辑:程序博客网 时间:2024/05/16 19:34


Activity

Activityandroid应用中负责与用户交互的组件。Activity只能通过setContentView(View)来显示指定组件。

View组件是所有UI控件、容器控件的基类,View组件就是android应用中用户实实在在看到的部分。

实际上Activitywindow的容器,Activity包含一个getWindow()方法,该方法返回该Activity所包含的窗口。

Activity包含一个setThemeint resid)方法来设置其窗口风格。


Service

ServiceActivity的地位是并列的,它也代表一个单独的Android组件。ServiceActivity的区别在于:Service通常位于后台运行,它一般不需要与用户交互,因此,Service组件没有图形用户界面。

Activity组件需要集成Activity基类相似,Service组件需要集成Service基类。一个Service组件被运行起来后,它将拥有自己独立的生命周期,Service组件通常用于为其他组件提供后台服务或监控其他组件的运行状态。


BroadcastReceiver

BroadcastReceiverAndroid应用中另一个重要的组件,顾名思义,BroadcastReceiver代表广播消息接收器。从代码实现角度来看,BroadcastReceiver非常类似与时间变成中的监听器。

与普通监听器不同的是:普通事件监听器监听的事件源是程序中的对象;而BroadcastReceiver监听的事件源是Android应用中的其他组件。

开发者实现了自己的BroadcastReceiver之后,通常有两种方式来注册这个系统级的事件监听器:

在代码中通过Context.registReceiver()方法注

BroadcastReceiver AndroidManifest.xml.文件中使用<receiver../>元素完成注册。


ContentProvider

Android系统为这种跨应用的数据交换提供了一个标准:ContentProvider。当用户实现自己的ContentProvider时,需要实现如下抽象方法:

insert(Uri,ContentValues):ContentProvider插入数据

delete(Uri,ContentValues):删除ContentProvider中指定数据

Update(Uri,ContentValues,String,String[]):更新Contentprovider中指定的数据。

Query(Uri,String[],String,String[],String):Contentprovider查询数据。

通常与Contentprovider结合使用的是ContentResolver,一个应用程序使用Contentprovider暴露自己的数据,而另一个应用程序则通过ContentResolver来访问数据。

ActivityServiceBroadcastReceiver三种组件之间的通信都是以intent为载体。











0 0
原创粉丝点击