为什么要有内容提供者 内容提供者的工作原理 使用内容解析者对内容提供者进行增删改查操作 利用内容提供者和内容解析者备份手机短信 利用内容提供者插入短信 为什么要有内容提供者 内容提供者技术的目的是: 把私有数据库的数据的内容暴露给外部使用: 我们知道,微信.QQ等应用都能够读取手机中联系人和短信的数据.而联系人和短信都是系统内置的应用,它们的数据都存储在相应的数据库中. 在com.android.provider.telephony/databases/mmssms.db就是短信的数据库,通过以…
一.使用ContentProvider共享数据 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.以前我们学习过文件的操作模式,通过指定文件的操作模式为Context.MODE_WORLD_READABLE 或Context.MODE_WORLD_WRITEABLE同样可以对外共享数据,但数据的访问方式会因数据存储的方式而不同,如:采用xml文件对外共享数据,需要进行xml解析来读写数据:采用sharedpreferences共享数据…
DiskLruCache是谷歌推荐的用来实现硬盘缓存的类,今天我们开始对于DiskLruCache的学习.DiskLruCache的测试代码:DiskLruCache的测试代码下载.关于FidkLruCache的使用,请参见我的博客:android基础---->LruCache的使用及原理 目录导航 DiskLruCache缓存的代码实例 DiskLruCache的原理分析 友情链接 DiskLruCache缓存的代码实例 我们通过一个案例来体会DiskLruCache的使用及执行的流程,在我们…
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4108017.html [正文] 一.ContentProvider简介: ContentProvider内容提供者(四大组件之一)主要用于在不同的应用程序之间实现数据共享的功能. ContentProvider可以理解为一个Android应用对外开放的接口,只要是符合它所定义的Uri格式的请求,均…
利用内容提供者读取联系人 利用内容提供者插入联系人 内容观察者的原理 利用内容观察者监听系统应用数据库或者自己应用数据库的变化 利用内容提供者读取联系人 读取联系人相对于读取短信来说就复杂非常多了,我们一步一步来吧. 先看看一下联系人的数据库,是位于什么地方! 既然非常复杂,我们就一步步分析吧,我们把contacts2.db导出到电脑中,并使用SQLite数据库软件打开. 你能够看到一大堆的表和视图,当然我们使用到的也仅仅有三张.各自是raw_contacts.data.mimetypes分别存…
* 应用的数据库是不允许其他应用访问的* 内容提供者的作用就是让别的应用访问到你的数据库.把私有数据暴露给其他应用,通常,是把私有数据库的数据暴露给其他应用. Uri:包含一个具有一定格式的字符串的对应资源的类* 自定义内容提供者,获取私有数据库,暴露数据.继承ContentProvider类,重写增删改查方法,在方法中写增删改查数据库的代码,举例增方法        @Override        public Uri insert(Uri uri, ContentValues values…
转载自:http://blog.csdn.net/woshixuye/article/details/8281385 一.提出需求 有A,B,C三个应用,B中的数据需要被共享,所以B中定义了内容提供者ContentProvider:A应用修改了B应用的数据,插入了一条数据.有这样一个需求,此时C应用需要得到数据被修改的通知并处理相应操作. 二.示例代码 A应用 /** * 对内容提供者进行操作 * * @author XY * */ public class MainActivity exten…
内容提供折详细理论知识请参考之前的博文:http://blog.csdn.net/qq_32059827/article/details/51646513 这里新建了三个联系人信息,通过查看系统联系人源码知道,对三张表进行操作. 联系人数据库 raw_contacts表: contact_id:联系人id data表:联系人的具体信息,一个信息占一行 data1:信息的具体内容 raw_contact_id:联系人id,描述信息属于哪个联系人 mimetype_id:描述信息是属于什么类型 mi…
(4)单元測试类: 这里须要涉及到另外一个知识:ContentResolver内容訪问者. 要想訪问ContentProvider.则必须使用ContentResolver. 能够通过ContentResolver来操作ContentProvider所暴露处理的接口.一般使用Content.getContentResolver()方法获取ContentResolver对象.第一段中已经提到:ContentProvider有非常多对外能够訪问的方法,在ContentResolver中均有同名的方法…
[正文] 一.ContentProvider简单介绍: ContentProvider内容提供者(四大组件之中的一个)主要用于在不同的应用程序之间实现数据共享的功能. ContentProvider能够理解为一个Android应用对外开放的接口.仅仅要是符合它所定义的Uri格式的请求,均能够正常訪问运行操作.其它的Android应用能够使用ContentResolver对象通过与ContentProvider同名的方法请求运行,被运行的就是ContentProvider中的同名方法. 所以Con…