Content Provider 用法

系统如何确定使用哪个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进行数据分类处理

你可能感兴趣的:(android)