Content Provider记录

来源:互联网 发布:微软程序员工资级别 编辑:程序博客网 时间:2024/05/19 03:30

        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、在配置文件中声明,以供使用。