WEB开发网
开发学院手机开发Android 开发 Android 应用程序之间数据共享—ContentProvider 阅读

Android 应用程序之间数据共享—ContentProvider

 2010-08-20 02:11:00 来源:WEB开发网   
核心提示:可能还有2个问题,是需要关注的,Android 应用程序之间数据共享—ContentProvider(2),ContentProvider是什么时候创建的,是谁创建的?访问某个应用程序共享的数据,至于如何创建ContentProvider,可通过2种方法:创建一个属于你自己的ContentProvider或者将你的数据

可能还有2个问题,是需要关注的。

ContentProvider是什么时候创建的,是谁创建的?访问某个应用程序共享的数据,是否需要启动这个应用程序?这个问题在 Android SDK中没有明确说明,但是从数据共享的角度出发,ContentProvider应该是Android在系统启动时就创建了,否则就谈不上数据共享了。这就要求在AndroidManifest.XML中使用元素明确定义。

可能会有多个程序同时通过ContentResolver访问一个ContentProvider,会不会导致像数据库那样的“脏数据”?这个问题一方面需要数据库访问的同步,尤其是数据写入的同步,在AndroidManifest.XML中定义ContentProvider的时候,需要考虑是元素multiprocess属性的值;另外一方面Android在ContentResolver中提供了 notifyChange()接口,在数据改变时会通知其他ContentObserver,这个地方应该使用了观察者模式,在 ContentResolver中应该有一些类似register,unregister的接口。

至此,已经对ContentProvider提供了比较全面的分析,至于如何创建ContentProvider,可通过2种方法:创建一个属于你自己的ContentProvider或者将你的数据添加到一个已经存在的ContentProvider中,当然前提是有相同数据类型并且有写入 Content provider的权限。在Android SDK的sample中提供的Notepad具体实例中去看源代码!

上一页  1 2 

Tags:Android 应用程序 之间

编辑录入:coldstar [复制链接] [打 印]
赞助商链接