Android提供了应用程序之间相互访问的统一接口,这些接口被定义在Content provider中,其中包括添加,删除,修改和查询等操作。
Content Provider用来保存和检索数据,并且使应用程序之间相互访问数据成为可能,他是跨应用程序共享数据的唯一方法。
Android为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的Content Provider,他们被定义在android.provider包下。通过这些定义好的Content Provider我们可以方便的进行数据操作,当
也可以自定义Content Provider数据,方便用户访问。
Content Provider的常用方法:query(Uri,String,sting[],stirng) insert(Uri,ContentValues) updat(Uri,ContentValuse,String,String[]) delete(Uri,Stirng,String[])
getType(Uri)获得MIME数据类型。
ContentResolver 我们通过它来操作Content Provider的。 contentResolver 通过应用程序的getContentResolver方法来或得。一般情况侠士单利的,但是可以有多个在不同的应用程序和不同的进程之间交互。
URI。Content Provider就是通过URI来共享其数据的。
一个URI对象必须以“conten://”开头,接下来是URI的授权部分,这部分内容要和AndroidManiFest.xml配置文件中生命的授权内容一致,后面还肯那个有数据类型和记录ID。
通过URI可以是得Content Provider知道和哪个Content Provider对应,并来操作哪些表及哪些记录。
获得现有系统的Content Provider查询需要如下操作“
1、通过对应的getContentResolver方法,或得ContentResolver对象。
2、或得Content Provider的URI标示。
3列出想要查询的列。
4调用ContentResolver的Query方法执行查询
调价系统的ContentProvider内容
1、1、通过对应的getContentResolver方法,或得ContentResolver对象。
2、或得Content Provider的URI标示。
3、将添加的信息封装到ContentValues对象中
4、调用inser方法执行添加。
定义一个ContentProvider必须在配置文件中声明,且声明中必须添加参数是授权 属性”“android:anthorities"
1创建保存数据的文件或数据仓库。
2、定义一个类继承ContentProvider,实现楚翔方法。包括(query(),insert(),update(),delete(),getType(),onCreat())
3、在配置文件中声明,以供使用。