l 使用 ContentProvider (内容提供者)共享数据
/* ContentProvider 在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider 对你应用中的数据进行添删改查。关于数据共享,以前我们学习过文件操作模式,知道通过指定文件的操作模式为Context.MODE_WORLD_READABLE 或Context.MODE_WORLD_WRITEABLE同样也可以对外共享数据。那么,这里为何要使用ContentProvider 对外共享数据呢?是这样的,如果采用文件操作模式对外共享数据,数据的访问方式会因数据存储的方式而不同,导致数据的访问方式无法统一,如:采用xml文件对外共享数据,需要进行xml解析才能读取数据;采用sharedpreferences共享数据,需要使用sharedpreferences API读取数据。 使用ContentProvider对外共享数据的好处是统一了数据的访问方式。 当应用需要通过ContentProvider对外共享数据时,第一步需要继承ContentProvider并重写下面方法: public class PersonContentProvider extends ContentProvider{ public boolean onCreate() public Uri insert(Uri uri, ContentValues values) public int delete(Uri uri, String selection, String[] selectionArgs) public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) public String getType(Uri uri)} 第二步需要在AndroidManifest.xml使用<provider>对该ContentProvider进行配置,为了能让其他应用找到该ContentProvider , ContentProvider 采用了authorities(主机名/域名)对它进行唯一标识,你可以把 ContentProvider看作是一个网站(想想,网站也是提供数据者),authorities 就是他的域名: <manifest .... > <application android:icon="@drawable/icon" android:label="@string/app_name"> <provider android:name=".PersonContentProvider" android:authorities="cn.itcast.providers.personprovider"/> </application> </manifest> */

更多相关文章

  1. 【转】Android深入探究笔记之三 -- Intent (隐式意图和显示意图)
  2. Android(安卓)5.1编译大于2G的OTA包是会出 Android(安卓)Overflo
  3. 19個好用的Android開發工具(Written By: ventans Leo)
  4. Android多语言适配values文件夹命名
  5. Android(安卓)在TextView 中显示图片的4种方式
  6. 【Android】xml文件里面出现unbound prefix的问题
  7. Android(安卓)SQLite数据库增删改查操作
  8. Android(安卓)Service服务的相关介绍
  9. 完美解决 No IDEA annotations attached to the JDK 1.8 (C:\Pr

随机推荐

  1. 从真实场景聊聊为啥Alfred能提高效率
  2. 10 个精妙的 Java 编码最佳实践
  3. 从一道真实的面试题,聊聊消息机制。
  4. 分支和循环结构的继续熟练
  5. 图解源码 | 接管SpringMVC的自动配置
  6. 肥朝匿名粉丝面经,复习资料自取!
  7. 两道JVM面试题,竟让我回忆起了中学时代!
  8. 无异常日志,就不能排查问题了???
  9. 计算时间差,你的方式或许不是最佳实践!
  10. 用最低的成本,提高你的代码稳壮性。