安卓当中contentprovider问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓当中contentprovider问题相关的知识,希望对你有一定的参考价值。
什么都弄好了,为啥测试的时候就出现这种情况呀?崩溃了,求大神!!
参考技术A ContentProvider的在android中外部共享数据,这意味着你可以使用数据ContentProvider的共享访问其他应用程序的动作,其他应用程序可以ContentProvider的应用程序的数据将添删改查。关于数据共享,我们学过的文件操作模式,由指定文件的操作模式称为是Context.MODE_WORLD_READABLE或Context.MODE_WORLD_WRITEABLE也可以开始共享数据。那么,这里为什么要使用的ContentProvider对外共享数据?是,如果外部数据共享,数据存储的数据访问方法,由于在不同的数据访问方法都不会导致统一,比如方式的文件操作模式:利用外部XML文件共享数据,你需要可以读取xml解析数据;使用sharedpreferences共享数据,你需要使用sharedpreferences API来读取数据。采用统一的数据访问方法的好处的ContentProvider对外共享数据。当
当应用程序需要通过外部的ContentProvider共享数据时,第一步需要继承的ContentProvider并重写以下方法:
公共类PersonContentProvider扩展ContentProvider的
公共布尔的onCreate() BR />公共URI插入(URI URI,ContentValues?值)
公众诠释删除(URI URI,选择字符串,字符串[] selectionArgs两个)
公众诠释更新(URI URI,ContentValues?值,字符串的选择,的String [] selectionArgs两个)
公众光标查询(URI URI,的String []投影,选择的字符串,字符串[] selectionArgs两个,字符串排序顺序)
公共字符串的getType(URI URI)
>第二步需要AndroidManifest。使用的ContentProvider的 xml配置,以允许其他应用程序找到的ContentProvider,ContentProvider的使用部门(主机名/域名)来唯一标识它,你可以把ContentProvider的一个网站(想想,网站还提供了由数据),当局是他的领地:
>
只是直接提供该应用程序A的ContentResolver的URI,并使用就行了追问
说重点呢!怎么出错了?
安卓中的数据存储方式以及ContentProvider的简单介绍
1.介绍android的数据存储方式
File存储
sharedPrefrence存储方式
conmtentprovider
sqlitedatabase
网络存储
2.请介绍下ContentProvider是如何实现数据共享的
安卓中如果想将自己应用程序的数据暴露给其他的应用程序的时候就需要创建内容提供者.第三方可以通过contentResolver来访问该provider
3.为什么要使用ContentProvider?它和sql的实现上有什么差别?
ContentProvider屏蔽了数据存储的细节,内部实现对用户完全透明,用户只需要关心操作数据的Uri就可以了.ContentProvider还可以再不同的APP之间进行数据的共享.
sql也有增删该查的方法,但是访问的内容仅限于本应用下的数据库文件.contentproivider还可以增删改查本地文件,xml文件等.
4.说说ContentProvider,contentresolver,contentobserver之间的关系.
第一个是内容提供者,可以对系统的数据库文件提供增删改查的方法,第二个是内容解析者,内容解析者可以通过特定的uri对内容提供者进行访问,调用里面的增删改查的方法,最后一个是内容监听者,可以监听数据库内容的改变,当数据库内容发生改变的时候,内容监听者会受到消息,做相应的处理.
以上是关于安卓当中contentprovider问题的主要内容,如果未能解决你的问题,请参考以下文章
Android安卓进阶技巧之——ContentProvider总结
安卓学习笔记1安卓基本组件Activity,Service,BoradCastReceiver,ContentProvider简介