ContentProvider实现数据共享1
2015-11-28 19:55
567 查看
1.起因: 不用的应用程序之间可能需要共享数据, 而当一个应用程序需要把自己的数据暴露给其他程序使用时,该应用可通过ContentProvider来实现。
2.配置ContentProvider: android:name=" . 类名 ";
android:authorities="org.crazyit.providers.dictprovider " //aurhorities 可称为contendProvided 的域名,可称为ConentProvider的一个命名标志。
android:exported="true" ;
3.URI 三部分 1, content:// (其是一个默认协议) 相当于网站的 http:// 。
2、 authorities (其实就是ContentProvider的authorities)。
3.words //资源部分,当访问者需要访问不同的资源时,这个部分是可以动态改变的。
URI uri = URI.parse(“ string name ”);
4.使用ContentResorver操作数据
(1)获取ContentResorver对象 :
ContentResolver resorver =getContentResourver();
(2)使用ContentResourver对象提供的方法操作数据
简而言之:ContentResourver是通过对指定URI执行CRUD等数据操作,这些CRUD操作会委托该URI执行对应的ConentProvider来实现,实现间接调用。
5.创建ContentProvider 说明
为了确定ContentProvider实际能处理URI ,以及确定每个方法中的URI参数所操作的数据,android系统提供UriMatcher类, UriMatcher类提供了如下两个方法:
获取UriMatcher对象 1.UriMacher matcher=new UriMatcher(UriMatcher.No_MATCH)
2.void addURI (String authority ,String path ,int code) // 该方法用于向UriMathcer注册URI ,其中authority 和 path 组合成一个URI
3.int Match(Uri uri) //匹配Uri ,返回 code
android也提供了ContentUris工具类,它是操作URI 字符串的工具类,提供了两个工具方法
URI withAppendedld(uri, id),用于为路径加上ID部分
如 URI uri=URI.parse(String name) ,Uri resultUri=ContentUris.withAppendedID(uri,2) ;
ID parseId(uri) ,从指定uri中解析出所包含的ID值。
2.配置ContentProvider: android:name=" . 类名 ";
android:authorities="org.crazyit.providers.dictprovider " //aurhorities 可称为contendProvided 的域名,可称为ConentProvider的一个命名标志。
android:exported="true" ;
3.URI 三部分 1, content:// (其是一个默认协议) 相当于网站的 http:// 。
2、 authorities (其实就是ContentProvider的authorities)。
3.words //资源部分,当访问者需要访问不同的资源时,这个部分是可以动态改变的。
URI uri = URI.parse(“ string name ”);
4.使用ContentResorver操作数据
(1)获取ContentResorver对象 :
ContentResolver resorver =getContentResourver();
(2)使用ContentResourver对象提供的方法操作数据
简而言之:ContentResourver是通过对指定URI执行CRUD等数据操作,这些CRUD操作会委托该URI执行对应的ConentProvider来实现,实现间接调用。
5.创建ContentProvider 说明
为了确定ContentProvider实际能处理URI ,以及确定每个方法中的URI参数所操作的数据,android系统提供UriMatcher类, UriMatcher类提供了如下两个方法:
获取UriMatcher对象 1.UriMacher matcher=new UriMatcher(UriMatcher.No_MATCH)
2.void addURI (String authority ,String path ,int code) // 该方法用于向UriMathcer注册URI ,其中authority 和 path 组合成一个URI
3.int Match(Uri uri) //匹配Uri ,返回 code
android也提供了ContentUris工具类,它是操作URI 字符串的工具类,提供了两个工具方法
URI withAppendedld(uri, id),用于为路径加上ID部分
如 URI uri=URI.parse(String name) ,Uri resultUri=ContentUris.withAppendedID(uri,2) ;
ID parseId(uri) ,从指定uri中解析出所包含的ID值。
相关文章推荐
- 解析php mysql 事务处理回滚操作(附实例)
- 算法_php猴子选大王_约瑟夫问题
- disable_functions php-fpm root
- php设计模式--单例模式
- 新测 thinkphp3.2 整合 PHPMailer 发送邮件
- hibernate继承关系映射方法(三)--每个具体类一张表TPC
- php 安全模式限制函数
- PHP如何检测一个UTF-8字符串里有没有繁体字
- PHP获取服务器端的相关信息
- PHP获取服务器端的相关信息
- PHP获取服务器端的相关信息
- PHP获取服务器端的相关信息
- PHP获取服务器端的相关信息
- FTP服务学习笔记之ssl/tls安全认证配置(3)
- 【Win】使用L2TP出现809错误
- PHP函数操作数组(集合贴)
- PHPExcel类库使用手册
- CI框架uri去掉index.php
- ThinkPHP框架--邮箱激活功能
- PHP高手干货分享:要大大提高PHP效率