- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
android使用ContentProvider
使用 ContentProvider 共享数据
1. 统一的数据访问方式
当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。
文件的操作模式中,通过指定文件的操作模式为Context.MODE_WORLD_READABLE 或Context.MODE_WORLD_WRITEABLE同样可以对外共享数据,
但数据的访问方式会因数据存储的方式而不同,如:采用xml文件对外共享数据,需要进行xml解析来读写数据;
采用sharedpreferences共享数据,需要使用sharedpreferences API读写数据。
而使用ContentProvider共享数据的好处是统一了数据访问方式。
通俗一点,例如我要访问另一个应用怎么来描述我的需求呢?有种方式可向 Webservice 那样,统一一种描述语言,大家靠这个来互相理解。但是太麻烦了。现在的情况远远好于应用 Webservice 的场景,因为,应用们都在一部手机上,大家都归 Android 操作系统老大管。于是好办!
甲应用说中文,说:我想得到联系人 的详细信息。
乙应用来做大洋彼岸,说:I want to get contacts, for more information.
丁说ri语,高呼呀嘛蝶。
这是在要求访问“通讯录”应用啊,是属于另一个应用了,在另一个进程里。难道我做一个“通信录”程序,为了要让别人访问我,我还得提供“中文”、“英文”、“ri文”三种访问模式?这没法搞了,于是由 Android 牵头,大家商议统一描述语言,于是弄出个 Uri。
那么以后这种需求 Android 规定,大家统一说一样的语言:
content://com.android.contacts/data/phones/filter “通讯录”程序中需要提供一种对指定模式的 Uri 的解析机制,并且这种解析机制要注册在操作系统中,随时工作。
例如,只要解析到了“data/phones/filter 这种模式,它立马截取出 然后再自己的持久化库中去找寻详细信息,再返回回去。
2. 继承 ContentProviter
public class PersonContentProvider extends ContentProvider;
和 Activity 一样, ContentProviter 属于 Android 的一种组件
3. 注册内容提供者
AndroidManifest.xml
provider android:name=.PersonContentProvider
android:authorities=vider.personprovider /
android:name : 指向内容提供者的类
android:authorities : 应用中的一个唯一的字符串标识。可以将它看作域名。在本应用或其它应用中,可以通过这个域名来访问内容提供者。
4. ContentProvider 中的方法
/**
* 其它应用可以通过此方法对内容提供者删除数据
*/
public int delete(Uri uri, String selection, String[] selectionArgs) {
return 0;
}
/**
* 其它应用可以通过此方法对内容提供者添加数据
*/
public Uri insert(Uri uri, ContentValues contentValues)
/**
* 其它应用可以通过此方法对内容提供者查询数据
*/
public Cursor query(Uri uri, String[] arg1, String arg2, String[] arg3,
String arg4)
/**
* 其它应用可以通过此方法对内容提供者更新数据
*/
public int update(Uri arg0, ContentValues arg1, String arg2, String[] arg3)
/**
* 内容类型
*/
public String getType(Uri uri) :
您可能关注的文档
- 旧沥青现场再生.doc
- 新人教版五年级上册:《梯形的面积》.ppt
- 2007年12月-2011年六月六级真题听力.doc
- 2013高考数学(理)二轮复习配套作业(解析版):专题限时集训(二十)A(课程标准卷地区专用).doc
- 九年级英语月考三(上).doc
- 重大版高二Unit2Listeningandspeaking.ppt
- 初中英语时态专项.doc
- ppt精选模板(共10页).ppt
- 第十一章绝热和吸声材料.doc
- 七上英语期末试卷2.doc
- 2025北京航空工业集团综合所高层次人才及博士招聘20人笔试参考题库附答案.docx
- 2025安徽亳州市利辛县巡察信息中心遴选5人备考题库附答案.docx
- 2025宁波鄞州区东柳街道编外招聘1人备考题库附答案.docx
- 2025云南楚雄市机关事业单位选调63人备考题库附答案.docx
- 2025北京中国社会科学调查中心招聘劳动合同制人员1人备考题库附答案.docx
- 2025宁波市市场监督管理局局属事业单位宁波市标准化研究院招聘高层次人才1人备考题库附答案.docx
- 2025河南郑州铁路职业技术学院招聘合同制工作人员48人笔试历年题库附答案解析.docx
- 2025云南玉溪市红塔区文化和旅游局招聘办公辅助人员1人备考题库附答案.docx
- 2025山东日照市岚山区卫生健康系统事业单位招聘20人备考题库附答案.docx
- 2025四川九州电子科技股份有限公司招聘车载电子事业部-PQE岗笔试参考题库附答案.docx
原创力文档


文档评论(0)