前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ContentProvider使用方法详解

ContentProvider使用方法详解

作者头像
企鹅号小编
发布2018-01-12 10:37:07
7870
发布2018-01-12 10:37:07
举报
文章被收录于专栏:编程

是四大组件之一,其本质上是一个标准化的数据管道,它屏蔽了底层的数据管理和服务等细节,以标准化的方式在 应用间共享数据。用户可以灵活实现所封装的数据存储以及增删改查等,所有的 必须实现一个对外统一的接口。

本篇文章主要介绍 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

ContentProvider

获取联系人信息的方法

获取短信内容的方法

ContentResolver 内容解析者

ContentObserver 内容观察者

ContentProvider ContentResolver ContentObserver 三者关系

我们不是牛逼的程序员,我们只是程序开发中的垫脚石。

我们不发送红包,我们只是红包的搬运工。

1. ContentProvider 实现ContentProvider 继承关系

四大组件之一,必须在Androidmainfest.xml 中注册

注意 : URI 中的元素

android:authorities="ProgramAndroid"

继承 ContentProvider 实现增删改查等方法

提供对外提供操作的数据库方法

其他APK 访问此ContentProvider 数据库的方法

注意 :

// 此条添加上才ContentObserver可以监听数据库改变

getContentResolver().notifyChange(Uri.parse(uri),null);

至此,自定义的使用方法已经实现。

2. 获取联系人信息的方法

系统自带一下 ,比如 联系人

例如: 源码 下的内容

Android 系统Provider.png

本段主要实现获取系统联系人(ContactProvider)提供的一些信息

获取联系人实现方法

ListView 显示布局如下

item 布局如下:

注意: 获取联系人需要权限

至此,已经可以获取并显示联系人信息。

3.获取短信内容的方法

短信内容数据也是系统提供的,获取方法如下:

获取方法如下

ListView 布局如下

item 布局如下:

4. ContentResolver 内容解析者

主要是通过调用获取 提供的数据接口,进而进行增删改查等操作。

5.ContentObserver 内容观察者

内容观察者通过指定 监听数据是否改变。

自定义 ContentObserver 内容观察者

1.注册ContentObserver 内容观察者 registerContentObserver

2.继承 ContentObserver 实现 onChange方法

注意 :

// 此条添加上才ContentObserver可以监听数据库改变

getContentResolver().notifyChange(Uri.parse(uri),null);

至此自定义内容观察者已经实现完成

调用ContentObserver 监听短信数据改变

6. ContentProvider ContentResolver ContentObserver 三者关系

三者关系图如下

关系图.png

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。期待您的关注,

感谢您的阅读,谢谢!

本文来自企鹅号 - 程序员Android媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 程序员Android媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档