android Content Provider

简介:

内容提供者即Content Provider,Content Provider提供了一个接口用来共享自己的数据,包括自己的私有数据。其他程序通过Content Resolve来使用这些数据。

当应用需要通过ContentProvider对外共享数据时,第一步需要创建一个类继承ContentProvider并重写下面方法:

public class PersonContentProvider extends ContentProvider{

      public boolean onCreate()

      public Uri insert(Uri uri, ContentValues values)

      public int delete(Uri uri, String selection,String[] selectionArgs)

      public int update(Uri uri, ContentValues values, Stringselection, String[] selectionArgs)

     public Cursor query(Uri uri, String[] projection, Stringselection, String[] selectionArgs, String sortOrder)

     public String getType(Uri uri)

}

第二步需要在AndroidManifest.xml使用<provider>对该Content Provider进行配置,为了能让其他应用找到该Content Provider , Content Provider采用了authorities(主机名/域名)对它进行唯一标识,内容可以设置任意字符,为了使用方便,一般格式为:com.xxx.xxx.YYY(YY为自己设置的ContentProvider名称),以后其他程序的Content Resolve就通过authorities去访问这个程序的数据,name的含义与配置Activity时的含义一样,由于指定创建的继承ContentProvider类的完整类名:

<manifest .... >

   <application android:icon="@drawable/icon"android:label="@string/app_name">

       <providerandroid:name=".PersonContentProvider"android:authorities="cn.itcast.providers.personprovider"/>

   </application>

</manifest>

我们执行完第二步的在AndroidManifest.xml中注册的操作后,开始书写第一步中我们创建的类(继承自ContentProvider类)的具体代码了:

 

 

比如其他程序要通过ContentProvider执行该程序数据库的查询(query)操作,我们则要在该程序中覆写接下来的query()方法,见下图:


接下来覆写query()方法:


之后就可以在其他应用程序中通过ContentResolve来对该程序中数据库进行查询操作了:


这是查询操作,“增”、“删”、“改”的代码就可以仿照书写了。

目录
相关文章
|
4月前
|
XML Java Android开发
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
89 0
|
Android开发
Android调用相机时找不到android.support.v4.content.FileProvider unresolved package 'content'
Android调用相机时找不到android.support.v4.content.FileProvider unresolved package 'content'
|
存储 数据库 Android开发
|
数据库 Android开发 数据库管理
|
数据库 Android开发 数据库管理
【Android 学习】四大组件(三)——Content Provider
本文转载自:http://blog.csdn.net/conowen/article/details/7273142 1、Content Provider(内容提供者)简介          从字面上的意思来看,Content Providers是内容提供者,也就是数据的提供者,而数据的来源可以是SQLite数据库或者File存储等等方式。
1309 0
|
测试技术 数据库 Android开发
6、Android Content Provider测试
如果你的应用中使用了Content Provider来与其他应用进行数据交互,你需要对Content Provider进行测试来确保正常工作。
968 0
|
4天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库