(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. PhoneGap app 性能研究小结(2013网页装在兜里)
  2. Windows内核启动开关/3GB和win10下boot.ini文件问题
  3. fasttext的异步随机梯度下降导致结果不一致
  4. mysql老是自动停止_ecs云服务器 mysql经常自动停止挂掉重启问题分析
  5. @value 注入静态属性_TP6依赖注入是如何实现的
  6. (94)Vivado时序约束TCL命令-get_nets
  7. git reset --mixed, - soft和--hard有什么区别?
  8. Ubuntu下编译SHTOOLS
  9. JavaScript 01
  10. linux下目录与文件的权限及特殊权限
  11. x210ii开发板使用fastboot下载出现没有权限的问题
  12. debian10将系统软件包和docker的软件源改成国内源
  13. VIN码识别/车架号识别独家支持云识别
  14. java支付宝网页授权_轻松实现支付宝服务窗网页授权从配置到获取授权获取用户信息...
  15. 如何落户北京?19年积分落户规模为6000人!
  16. 计算机显示器分辨率,现在电脑的主流显示器的分辨率一般是多大?
  17. 哥伦比亚大学计算机科学硕士排名,哥伦比亚大学计算机科学硕士排名第16(2020年TFE Times排名)...
  18. 苹果cms模板_苹果cmsv10高端模板有哪些?
  19. 箱体图如何排除异常点
  20. 一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码

热门文章

  1. 开发进度月报(GB8567——88)
  2. C#超市管理系统试题
  3. 手把手教你做挖矿应急响应
  4. 四大开源无人机项目,极客要Get了
  5. 从Ecipse中导出程序至apk
  6. 机器学习对价格预测做模型与应用
  7. Spark Shuffle Write阶段磁盘文件分析
  8. 动态网络表征学习在推荐领域的创新与实践
  9. cURL在Web渗透测试中的应用
  10. 并发编程之 Semaphore 源码分析