Content provider将当前应用程序的某些特定数据,提供给其他应用程序。这些数据可以存储在文件系统,SQLite数据库,或者是任意其他有意义的存储方式。content provider
继承自ContentProvider基类,实现了一些标准的方法集合,这些方法可以让其他的应用程序访问和存储content
provider控制数据类型。但是,
应用程序并不是直接调用这些方法,而是用一个ContentResolver对象调用这些方法。ContentResolver可以和任意
contentProvider对话,ContentResolver 通过和provider的协作,实现跨进程的通信。
通观Android这四类组件和进程的关系:只要存在一个请求需要被特定的组件处理,Android必须保证组件所在的应用程序进程是运行的,
如有需要(比如,应用程序进程不存在的情况下),启动这个应用程序进程, 同时需保证存在可用的组件实例,
如有需要(比如,组件被销毁),创建这个组件实例。
以Content Provider的方式访问数据, 需要准备以下几个步骤:
1. 继承ContentProvider类。
2. 定义public static final 的Uri类型变量, 并命名为CONTENT_URI 并设置好它的标准头部, 授权, 数据类型等。
3. 构件数据存储, 数据存储一般有:Preferences, files, DataBases, NetWorks。
4. 实现1中的抽象方法, 特别是insert, query, delete, update方法, 这些方法都是对3中具体数据存储操作的封装。
当然, 还需要在AndroidManifest中定义。
原文地址:http://blog.csdn.net/ostrichmyself/archive/2010/06/10/5662355.aspx
阅读(1054) | 评论(0) | 转发(0) |