系统如何确定使用哪个ContentProvider?

根据androidmainfest.xml中的android:authorities决定,所以该名字必须全局唯一的

一个ContentURI的组成:

协议头:Content://

认证域 authorities

路径: datapath

Content:// authorities/datapath

Datapath可以这么理解:客户端希望获取的数据可能有不同的种类,根据datapath来判断客户端到底需要哪种数据

Eg:

Content://mms-sms/convensation 获取短彩列表

Content://mms-sms/convensation/id 获取某个会话

Content://mms-sms/draft 获取草稿箱

……

用UriMatcher来解析客户端传入的URI,获取datapath

首先在provider启动的时候进行初始化,

UriMatcher.add(authorities, datapath,return_code)

使用时:

ReturnCode =UriMatcher.match(uri)

获得初始化时注册的返回码,然后使用switch进行数据分类处理

更多相关文章

  1. Android(安卓)获取系统或SDCARD剩余空间信息
  2. fragment内嵌fragment之间传值+切换fragment
  3. Android中获取应用程序(包)的信息(launcher获取系统应用)
  4. Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法
  5. Android中SQLite学习小结
  6. Android(安卓)Loader(二) CursorLoader
  7. Android(安卓)软件测试日志文件抓取
  8. Android(安卓)数据存储之SharedPreferences的使用
  9. Android(安卓)APP测试的日志文件抓取

随机推荐

  1. android 模仿 弹性菜单
  2. Android高版本P/Q/R源码编译指南
  3. C#/mono开发Android应用程序入门(二)-第一
  4. 最强 Android(安卓)Studio 使用小技巧和
  5. Android(Kotlin版本)MVC框架的实例以及代码
  6. android lru缓存 辅助类LruCache源码解析
  7. Android与服务器交互
  8. Android(安卓)调试桥(adb)
  9. Android开发指南-三维图形
  10. Android(安卓)7 新特性浅析