(1)首先创建内容提供者,实现暴露数据库程序的功能 定义一个类继承android.content包下的ContentProvider类,ContentProvider是一个抽象类,使用该类时重写            onCreate() getType() query() insert() delete() update()抽 象方法。

public class PersonDBProvider extends ContentProvider {public boolean onCreate() {return false;}public String getType(Uri uri) {return null;}public Cursor query(Uri uri, String[] strings, String s, String[] strings1, String s1) {return null;}public Uri insert(Uri uri, ContentValues contentValues) {return null;}@Overridepublic int delete(Uri uri, String s, String[] strings) {return 0;}@Overridepublic int update(Uri uri, ContentValues contentValues, String s, String[] strings) {return 0;}
)

(2)在清单文件里注册内容提供者 (注意:第二个引号中的内容“包名.自定义名(有一定含义的名字)”,第二个引号中的内容“包名.类名”)

 <providerandroid:authorities="com.example.hanshu.first.contentResolver"android:name="com.example.hanshu.first.PersonDBProvider"></provider>

(3)定义匹配器和添加匹配规则

1. 在PersonDBProvider类中定义一个uri的配置器,用于匹配uri,如果路径不满足条件,返回-1;

2. 添加匹配规则

具体代码如下:

public class PersonDBProvider extends ContentProvider {private static UriMatcher matcher=new UriMatcher(UriMatcher.NO_MATCH);private static final int INSERT=1;private static final int QUERY=2;private static final int DELETE=3;private static final int UPDATE=4;static {matcher.addURI("com.example.hanshu.first.contentResolver","insert",INSERT);matcher.addURI("com.example.hanshu.first.contentResolver","query",QUERY);matcher.addURI("com.example.hanshu.first.contentResolver","delete",DELETE);matcher.addURI("com.example.hanshu.first.contentResolver","update",UPDATE);}public boolean onCreate() {return false;}public String getType(Uri uri) {return null;}public Cursor query(Uri uri, String[] strings, String s, String[] strings1, String s1) {return null;}public Uri insert(Uri uri, ContentValues contentValues) {return null;}@Overridepublic int delete(Uri uri, String s, String[] strings) {return 0;}@Overridepublic int update(Uri uri, ContentValues contentValues, String s, String[] strings) {return 0;}
}

转载于:https://www.cnblogs.com/sunrise-hs/p/5665338.html

ContentProvider的创建和使用相关推荐

  1. contentprovider java_创建Contentprovider,

    创建Contentprovider: 1. 创建一个provider----ExampleContentProvider a. 设计authority b. 设计path c.处理content UR ...

  2. 基础总结篇之八:创建及调用自己的ContentProvider

    鍥而捨之,朽木不折:鍥而不捨,金石可鏤.戰國.荀子<勸學篇> 若不能坚持到底,即使是朽木也不能折断:只要坚持不停地用刀刻,就算是金属玉石也可以雕出花饰.用今天的话来说就是:再容易的事情,没 ...

  3. ContentProvider学习笔记

    一.什么ContentProvider ... 二.如何使用ContentProvider ... 三.沙场练兵-实例操练 ... 四.深入理解ContentProvider原理 为什么使用Conte ...

  4. 【Android 安全】DEX 加密 ( Application 替换 | 分析 ContentProvider 组件中调用 getApplication() 获取的 Application 二 )

    文章目录 一. ActivityThread 中的 installProvider 方法 ( 创建 ContentProvider 内容提供者 ) 二. installProvider 方法的第三分支 ...

  5. 【Android 安全】DEX 加密 ( Application 替换 | 分析 ContentProvider 组件中调用 getApplication() 获取的 Application )

    文章目录 一. ContentProvider 创建过程分析 二. ActivityThread 中的 H 处理 BIND_APPLICATION 消息 三. ActivityThread 中的 ha ...

  6. Android中ContentProvider组件数据共享

    ContentProvider的功能和意义: 主要用于对外共享数据,也就是通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对指定应用中 ...

  7. [【Android】Android之ContentProvider总结

    原文来自:http://www.cnblogs.com/devinzhang/archive/2012/01/20/2327863.html 1.适用场景 1) ContentProvider为存储和 ...

  8. Android 程式开发:(二十)内容提供者 —— 20.6 自定义ContentProvider的使用

    现在,ContentProvider已经创建好了,可以去尝试使用一下. 1. 使用之前的工程,在布局文件main.xml中添加一些控件. <?xml version="1.0" ...

  9. 移动开发技术课程作业三——ContentProvider

    作业要求: 1.contentprovider是安卓四大组件之一,请使用其方法类进行数据获取: 2.请自建一个provider,然后在另一个app中使用resolver调用这个provider. 3. ...

最新文章

  1. Redis 难题突破,最经典 46 题含详细解析
  2. JavaScript = TypeScript 类入门
  3. 测试MindMotion MM32F3277 MicroPython -2021-11-20新增PWM版本
  4. Visual Studio Code(VS code)介绍
  5. Git区分文件名大小写
  6. 【caffe-Windows】caffe+VS2013+Windows+GPU配置+cifar使用
  7. ef.extensions mysql_EFcore 使用 EFCore.BulkExtensions(不支持mysql)或 EntityFramework-Plus 批量增加、删除、修改...
  8. 数据库复习资料及课后习题答案
  9. 中读取数据_Flink入门实战 (中)
  10. android文本框自动补全,[Android]AutoCompleteTextView自动补全文本框
  11. 50 行代码,看 Python + OpenCV 玩转实时图像处理!
  12. 使用程序简单查询IP地址
  13. nodejs+vue+elementui宠物医院管理系统php-java-python
  14. 再抱一抱DataStore
  15. css ico图标不显示,网站后台ico图标不显示的解决方法
  16. 如何科学地评价妹子身材?三围符合黄金比例是审美标准?你错了!
  17. STM32H7B0 HAL OSPI配置的一次失败原因分享
  18. Zabbix设置微信报警
  19. 解决OneNote for Windows10无法联网及同步笔记问题
  20. 子类重写父类构造器以及其他方法

热门文章

  1. 我的新书《Java编程讲义》新鲜出炉啦,欢迎订阅
  2. python中range什么意思_python里range什么意思
  3. JavaScript进阶1-学习笔记
  4. Python爬虫学习系列教程-----------爬虫系列 你值的收藏
  5. 给大家推荐对Redis分析讲解比较详细的大牛
  6. 三大主流ETL工具选型
  7. 业务专题篇:AB测试实验设计与评估
  8. 数据挖掘之关联分析五(序列模式)
  9. python科学计算笔记(四)pandas 数据索引与选取
  10. mysql批量提交的优化