ContentProvider 详解

2020-11-02  本文已影响0人  钱晓缺

为什么要设计ContentProvider

1.封装数据,提供统一接口,当项目需求需要修改数据源的时候,节省时间和人力

2.提供一种跨进程数据共享的方式

3.数据更新通知机制。

基本用法

第一种:使用现有的contentProvider

第二种:使用自定义contentProvider

获取contentProvider内容基本步骤:

得到contentResolver类对象:ContentResolver cr = getContentResolver()

定义要查询的字段String数组

使用cr.Query方法得到一个cursor对象

用while循环得出cursoe里面的内容

如何共享数据

1.继承类contentProvider,重写query,insert,update,delete方法。

2.将数据用uri方式共享

和SQL区别

contentProvider屏幕了数据存储的细节,内部实现对用户透明,用户只需要关心操作数据的uri就行了

contentProvider可以实现不同APP之间共享数据,还可以增删改查本地文件和XML文件

SQL只能增删改查本应用下的数据

上一篇下一篇

猜你喜欢

热点阅读