ContentProvider(0)


           Android使用一种称为ContentPrivider的概念来 将数据抽象为服务。这种内容提供程序的理念使数据看起来像启用了REST的数据提供程序。比如,网站。从这种意义上说ContentProvider是一个数据包装器。Android设备上的SQLite数据就是可封装到ContentPrider中的数据源的一个例子。
说明 REST表示REpresentational State Transfer(具象状态传输),是每个网民都非常熟悉的一个非常简单的概念,这个名称表述非常含糊。当在浏览器中键入URL,Web服务器返回HTML作为响应时,你实际上是在Web服务器上执行了一个基于REST的“查询操作”。类似的当使用Web表单更新内容时,就会在Web服务器(或站点)上执行了一个基于REST的“更新”操作,然后更改Web服务器的状态。


     要从ContentProvider检索数据或将数据保存到ContentProvider,需要使用一组类似REST的URI。例如,如果要从封装图书数据库的ContentProvider获取一组图书,需要使用类似以下形式的URI:
content://com.android.book.BookProvider/books
要从图书数据库中获得特定的数据(如23号图书),需要类似以下形式的URI:

content://com.android.book.BookProvider/books/23


    设备上的任何应用程序都可以利用这些URI来访问或操作数据,所以应用程序之间的数据共享上,ContentProvider扮演着重要的角色。

但是,严格来讲,比起数据访问机制ContentProvider的作用更像是一种封装机制。需要实际的数据访问机制(比如SQLite)或网络访问来获取基础数据源。所以,只希望与外部或在应用程序之间共享数据时,才使用ContentProvider抽象。对于内部数据访问,应用程序可以使用它认为适合的任何数据存储/访问机制,像下面的这些内容:

* 首选项:一组键/值对,可以用来存储应用程序的首选项。
* 文件:应用程序内部的文件。可以存储在可移动的存储媒体上。
* SQLite:SQLite数据库,每个SQL数据库对于创建它的包是私有的。
* 网络:一种机制,支持通过互联网获得或存储外部数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值