Android 开发之应用程序基础及组件
2010-04-20 05:21:00 来源:WEB开发网广播接收者不显示一个用户界面。然而,它们启动一个活动去响应收到的信息,或者他们可能使用NotificationManager去通知用户。通知可以使用多种方式获得用户的注意——闪烁的背光、振动设备、播放声音等等。典型的是放在一个持久的图标在状态栏,用户可以打开获取信息。
2.4、内容提供者(Content providers)
内容提供者(content provider)使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式。内容提供者继承自ContentProvider 基类并实现了一个标准的方法集,使得其他应用程序可以检索和存储数据。然而,应用程序并不直接调用这些方法。相反,替代的是它们使用一个ContentResolver对象并调用它的方法。ContentResolver能与任何内容提供者通信,它与提供者合作来管理参与进来的进程间的通信。
内容提供者是Android应用程序的主要组成部分之一,提供内容给应用程序。他们封装数据且通过单个ContentResolver接口提供给应用程序。只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中。如果你不需要在多个应用程序间共享数据,你可以直接使用SQLiteDataBase。
当ContentResolver发出一个请求时,系统检查给定的URI的权限并传递请求给内容提供者注册。内容提供者能理解URI想要的东西。UriMatcher 类用于帮组解析URIs。
需要实现的方法主要如下:
query(Uri, String[], String, String[], String) 返回数据给调用者
insert(Uri, ContentValues) 插入数据到内容提供者
update(Uri, ContentValues, String, String[]) 更新内容提供者已存在的数据
delete(Uri, String, String[]) 从内容提供者中删除数据
getType(Uri) 返回内容提供者中的MIME 类型数据
更多的关于ContentResolver信息,请查看相关文档。
每当有一个应该由特定组件处理的请求,Android可以确保该组件的应用程序正在运行,如果没有就启动它,而且一个适当的组件实例可用,如果没有就创建。
本篇将介绍如何激活组关闭组件等。本文的主题如下:
1、激活组件:意图(Intents)
1.1、活动(Activity)组件的激活
1.2、服务(Service)组件的激活
更多精彩
赞助商链接