ContentProvider的创建和使用
(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的创建和使用相关推荐
- contentprovider java_创建Contentprovider,
创建Contentprovider: 1. 创建一个provider----ExampleContentProvider a. 设计authority b. 设计path c.处理content UR ...
- 基础总结篇之八:创建及调用自己的ContentProvider
鍥而捨之,朽木不折:鍥而不捨,金石可鏤.戰國.荀子<勸學篇> 若不能坚持到底,即使是朽木也不能折断:只要坚持不停地用刀刻,就算是金属玉石也可以雕出花饰.用今天的话来说就是:再容易的事情,没 ...
- ContentProvider学习笔记
一.什么ContentProvider ... 二.如何使用ContentProvider ... 三.沙场练兵-实例操练 ... 四.深入理解ContentProvider原理 为什么使用Conte ...
- 【Android 安全】DEX 加密 ( Application 替换 | 分析 ContentProvider 组件中调用 getApplication() 获取的 Application 二 )
文章目录 一. ActivityThread 中的 installProvider 方法 ( 创建 ContentProvider 内容提供者 ) 二. installProvider 方法的第三分支 ...
- 【Android 安全】DEX 加密 ( Application 替换 | 分析 ContentProvider 组件中调用 getApplication() 获取的 Application )
文章目录 一. ContentProvider 创建过程分析 二. ActivityThread 中的 H 处理 BIND_APPLICATION 消息 三. ActivityThread 中的 ha ...
- Android中ContentProvider组件数据共享
ContentProvider的功能和意义: 主要用于对外共享数据,也就是通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对指定应用中 ...
- [【Android】Android之ContentProvider总结
原文来自:http://www.cnblogs.com/devinzhang/archive/2012/01/20/2327863.html 1.适用场景 1) ContentProvider为存储和 ...
- Android 程式开发:(二十)内容提供者 —— 20.6 自定义ContentProvider的使用
现在,ContentProvider已经创建好了,可以去尝试使用一下. 1. 使用之前的工程,在布局文件main.xml中添加一些控件. <?xml version="1.0" ...
- 移动开发技术课程作业三——ContentProvider
作业要求: 1.contentprovider是安卓四大组件之一,请使用其方法类进行数据获取: 2.请自建一个provider,然后在另一个app中使用resolver调用这个provider. 3. ...
最新文章
- Redis 难题突破,最经典 46 题含详细解析
- JavaScript = TypeScript 类入门
- 测试MindMotion MM32F3277 MicroPython -2021-11-20新增PWM版本
- Visual Studio Code(VS code)介绍
- Git区分文件名大小写
- 【caffe-Windows】caffe+VS2013+Windows+GPU配置+cifar使用
- ef.extensions mysql_EFcore 使用 EFCore.BulkExtensions(不支持mysql)或 EntityFramework-Plus 批量增加、删除、修改...
- 数据库复习资料及课后习题答案
- 中读取数据_Flink入门实战 (中)
- android文本框自动补全,[Android]AutoCompleteTextView自动补全文本框
- 50 行代码,看 Python + OpenCV 玩转实时图像处理!
- 使用程序简单查询IP地址
- nodejs+vue+elementui宠物医院管理系统php-java-python
- 再抱一抱DataStore
- css ico图标不显示,网站后台ico图标不显示的解决方法
- 如何科学地评价妹子身材?三围符合黄金比例是审美标准?你错了!
- STM32H7B0 HAL OSPI配置的一次失败原因分享
- Zabbix设置微信报警
- 解决OneNote for Windows10无法联网及同步笔记问题
- 子类重写父类构造器以及其他方法