您好、欢迎来到现金彩票网!
当前位置:一品彩票app下载 > 共享控件 >

ContentProvider如何实现APP之间的数据共享

发布时间:2019-06-07 02:49 来源:未知 编辑:admin

  Content providers是一套在不同进程间进行数据访问的接口。

  Content providers为数据跨进程访问提供了一套安全的访问机制,对数据组织和安全访问提供了可靠的保证。

  Provider对象从客户端(client)接收数据请求,执行请求操作并且返回请求结果。

  ContentProvider在android中的作用是对外共享数据, 也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据 进行添删改查。关于数据共享,以前我们学习过文件操作模式,知道通过指定文件的操作模式为Context.MODE_WORLD_READABLE或 Context.MODE_WORLD_WRITEABLE同样也可以对外共享数据。那么,这里为何要使用ContentProvider对外共享数据 呢?是这样的,如果采用文件操作模式对外共享数据,数据的访问方式会因数据存储的方式而不同,导致数据的访问方式无法统一,如:采用xml文件对外共享数 据,需要进行xml解析才能读取数据;采用sharedpreferences共享数据,需要使用sharedpreferences API读取数据。

  使用ContentProvider对外共享数据的好处是统一了数据的访问方式。

  Uri代表了要操作的数据,Uri主要包含了两部分信息:1》需要操作的ContentProvider ,2》对ContentProvider中的什么数据进行操作,一个Uri由以下几部分组成:

  主机名(或叫Authority)用于唯一标识这个ContentProvider,外部调用者可以根据这个标识来找到它。

  路径(path)可以用来表示我们要操作的数据,路径的构建应根据业务而定,如下:

  当然要操作的数据不一定来自数据库,也可以是文件、xml或网络等其他存储方式,如下:

  如果要把一个字符串转换成Uri,可以使用Uri类中的parse()方法,如下:

  因为Uri代表了要操作的数据,所以我们经常需要解析Uri,并从Uri中获取数据。Android系统提供了两个用于操作Uri的工具类,分别为UriMatcher和ContentUris 。掌握它们的使用,会便于我们的开发工作。

  ContentUris类用于操作Uri路径后面的ID部分,它有两个比较实用的方法:

  如果要操作的数据属于非集合类型数据,那么MIME类型字符串应该以vnd.android.cursor.item/开头,

  这些方法的第一个参数为Uri,代表要操作的ContentProvider和对其中的什么数据进行操作,

  如果ContentProvider的访问者需要得到数据变化通知,必须使用ContentObserver对数据(数据采用uri描述)进行监听,当监听到数据变化通知时,系统就会调用ContentObserver的onChange()方法:

http://styleinch.com/gongxiangkongjian/323.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有