android使用ContentProvider

android使用ContentProvider

ID:40530226

大小:75.50 KB

页数:13页

时间:2019-08-04

android使用ContentProvider_第1页
android使用ContentProvider_第2页
android使用ContentProvider_第3页
android使用ContentProvider_第4页
android使用ContentProvider_第5页
资源描述:

《android使用ContentProvider》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、使用ContentProvider共享数据1.统一的数据访问方式当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。文件的操作模式中,通过指定文件的操作模式为Context.MODE_WORLD_READABLE或Context.MODE_WORLD_WRITEABLE同样可以对外共享数据,但数据的访问方式会因数据存储的方式而不同,如:采用xml文件对外共享数据,需要进行xml解析来读写数据;采用sharedpreferences共享数据,需要使用sharedpreferencesAPI读写数据。而使用Cont

2、entProvider共享数据的好处是统一了数据访问方式。通俗一点,例如我要访问另一个应用怎么来描述我的需求呢?有种方式可向Webservice那样,统一一种描述语言,大家靠这个来互相理解。但是太麻烦了。现在的情况远远好于应用Webservice的场景,因为,应用们都在一部手机上,大家都归Android操作系统老大管。于是好办!甲应用说中文,说:我想得到联系人“13999999”的详细信息。乙应用来做大洋彼岸,说:Iwanttogetcontacts,"13999999r"formoreinformation.丁说ri语,高呼呀嘛蝶。这是在要求访问“通讯录”应用啊,是属

3、于另一个应用了,在另一个进程里。难道我做一个“通信录”程序,为了要让别人访问我,我还得提供“中文”、“英文”、“ri文”三种访问模式?这没法搞了,于是由Android牵头,大家商议统一描述语言,于是弄出个Uri。那么以后这种需求Android规定,大家统一说一样的语言:content://com.android.contacts/data/phones/filter/13999999“通讯录”程序中需要提供一种对指定模式的Uri的解析机制,并且这种解析机制要注册在操作系统中,随时工作。例如,只要解析到了“data/phones/filter/13999999”这种模式,

4、它立马截取出“13999999”然后再自己的持久化库中去找寻详细信息,再返回回去。2.继承ContentProviterpublicclassPersonContentProviderextendsContentProvider;和Activity一样,ContentProviter属于Android的一种组件3.注册内容提供者AndroidManifest.xml

5、>android:name:指向内容提供者的类android:authorities:应用中的一个唯一的字符串标识。可以将它看作域名。在本应用或其它应用中,可以通过这个域名来访问内容提供者。4.ContentProvider中的方法/***其它应用可以通过此方法对内容提供者删除数据*/publicintdelete(Uriuri,Stringselection,String[]selectionArgs){return0;}/***其它应用可以通过此方法对内容提供者添加数据*/publicUriinsert(Uriuri,ContentValuescontentValu

6、es)/***其它应用可以通过此方法对内容提供者查询数据*/publicCursorquery(Uriuri,String[]arg1,Stringarg2,String[]arg3,Stringarg4)/***其它应用可以通过此方法对内容提供者更新数据*/publicintupdate(Uriarg0,ContentValuesarg1,Stringarg2,String[]arg3)/***内容类型*/publicStringgetType(Uriuri):该方法用于返回当前Url所代表数据的MIME类型。如果操作的数据属于集合类型,那么MIME类型字符串应该以v

7、nd.android.cursor.dir/开头,例如:要得到所有person记录的Uri为content://cn.itcast.provider.personprovider/person,那么返回的MIME类型字符串应该为:“vnd.android.cursor.dir/person”。如果要操作的数据属于非集合类型数据,那么MIME类型字符串应该以vnd.android.cursor.item/开头,例如:得到id为10的person记录,Uri为content://cn.itcast.provider.personprovide

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。