Content provider,为其它应用程序(也可以是提供该Content provider的应用程序)
提供了一个接口一致数据储存模型。通过该接口,你可以方便地提取你想要的数据,
修改或者是删除都会变得相当方便。依照 ANDROI组件模型的原理,把数据储存与数据显示分离天来,
这不但提高了组件重用性,也同时提供更高的完全性(每一个Content Provider都有自己的许可属性)。
作为数据储存的后端,你可以使用有Sqlite3保存数据,也可以使用文件系统保存,甚至是使用网络;
后端的多样 性给得程序的设计更富有弹性。
每一个实现都在从ContentProvider类继承,并实现ContentProvider的抽象函数:
delete(), insert(), query(), update(), getType()和onCreate().
代码片断:
class myContentProvider extends ContentProvider {
//删除符合指定条件的记录
public int delete(Uri uri, String selection, String[] selectionArgs);
//插入一个新的记录
public Uri insert(Uri uri, ContentValues values);
// 查询符合指定条件的记录
public Cursor query(Uri uri, String[] projecttion, String selection, String[] selectionArgs, String sortOrder);
//更新条例指定条件的记录
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs);
//基于给定uri,返回该uri表示的类型
public String getType(Uri uri);
//创建数据储存后端,如数据库,文件,网络接口等
public boolean onCreate();
......
}
如果使用Sqlite3作为数据后端(本例只讨论这种情况,如使用其它方法,如文件系统,网络,则大同小异),数据库的创建,
打开,更新,可以使用帮助类SQLiteHelper来完成,该类将对数据库的操作作了有效的封装,有利于我们使用。
代码片断:
class youtDbHelper extends SQLiteHelper {
// 创建数据库
public void onCreate(SQLiteDatabase db);
// 更新数据库
public void onUpdate(SQLiteDatabase db, int oldVersion, int newVersion)
......
}
为方便其它应用程序与该ContentProvider通信,通常我们要提供一个公共的Uri: CONTENT_URI,其它组件正是通过这一Uri,
与ContentProvider交流。在我们的ContentProvider创建好之后,我们不直接与之打交道,而是通过ANDROID的
ContentResolver进行操作。通过ANDROID系统的自动分析,会选择一个合适的ContentProvider进行通信。只要我们指定
我们之前定义的CONTENT_URI,就可能与之勾通了。
代码片断:
Cursor cursor = getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder);
//或者
Cursor cursor = manageQuery(uri, null, null, null, null);
// 可以使用游标cursor获取想要的信息
...
// 删除
int count = getContentResolver().delete(Uri url, String where, String[] selectionArgs);
......
对Uri的说明:
Uri(unified Resource identifier)就是统一资源标识,指定了一个特定的资源,遵照RFC2396规范。
一般格式为:
<scheme>://<authority><path><query>#<fragment>
例如:
content://your.contentprovider/what_u_provided
其中scheme=content 表示专为ContentProvider使用。
分享到:
相关推荐
在Android开发中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序间可以安全地访问和操作数据。这篇博文的示例程序"android content provider示例程序(简单记账)"旨在帮助开发者理解...
在Android开发中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序间可以安全地访问和操作数据。本"Android Content Provider Demo"着重于演示如何创建和使用Content Provider来实现跨...
【Android Content Provider】是Android系统中的一个重要组件,它主要用于在应用程序之间共享数据。Content Provider作为Android四大组件之一,为其他应用提供了访问私有数据的标准化接口。通过Content Provider,一...
Android Content Provider用法样例,解析如何使用“内容提供商”Content Provider共享不同应用的数据,本Android例子将使用Content Provider实现了获取联系人信息,里面的注释非常丰富,是学习android的好资料。
android content provider两个程序共享数据实例demo。简单的两个应用app之间共享数据。 getContentResolver().insert() getContentResolver().query() getContentResolver().delete() getContentResolver().update()
Android:Content Provider的使用。 1、Content Provider 简介 2、使用现成的Content Provider 3、定义自己的Content Provider 一、Content Provider 简介 我们说Android应用程序的四个核心组件是:Activity、...
《深入解析Android Content Provider的使用》 Content Provider作为Android四大组件之一,是Android系统中实现数据共享的关键机制。本文将详细阐述Content Provider的定义、配置、功能以及如何通过Uri进行数据操作...
**Android基础 Content Provider** 在Android开发中,Content Provider是一个至关重要的组件,它充当了应用程序间数据共享的桥梁。本文将深入探讨Content Provider的基本概念、创建方法、如何进行CRUD(Create、...
Android 组件 Content Provider 使用解析 Content Provider 是 Android 四大组件之一,主要作用是实现各个应用程序之间的数据共享。它提供了一种机制,允许不同的应用程序共享数据,实现跨应用程序之间的数据交互。...
在Android系统中,Content Provider是四大组件之一,它是应用程序间数据共享的核心机制。Content Provider允许一个应用暴露其数据,使得其他应用可以读取或者写入这些数据,甚至跨应用程序进行数据交换。这篇博客...
在Android开发中,`android.provider`包是系统提供的一个核心包,主要用于与系统的各种内容提供者(Content Provider)进行交互。这些内容提供者是Android系统数据共享的关键组件,它们允许应用访问并操作如联系人、...
理解Content Uri的概念和作用,掌握通过Content Provider访问联系人的方法,掌握通过Content Provider访问通话记录的方法,掌握通过Content Provider访问短信的方法。
在Android开发中,Content Provider是四大组件之一,它充当了数据共享和交换的桥梁,使得不同的应用程序之间可以安全地共享数据。本示例将详细解析如何自定义Content Provider,以便在Android应用间实现数据共享。 ...
在Android系统中,Content Provider是四大组件之一,它扮演着数据共享和交换的重要角色。Content Provider使得应用程序可以将自己的数据暴露给其他应用,同时也能够访问其他应用公开的数据。在这个"android provider...
在Android开发中,Content Provider是一种重要的组件,它允许应用程序之间共享数据。`content_provider_demo`是一个展示如何创建和使用Content Provider的示例项目。在这个项目中,开发者将学习如何为其他应用提供...
在Android开发中,Content Provider是四大组件之一,它扮演着数据共享和跨应用通信的关键角色。本示例项目"android-simple-content-provider-app"是专门为初学者设计的,旨在讲解如何在Android应用程序中创建和使用...
在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序之间可以安全地访问和操作数据。本篇文章将深入探讨如何利用Content Provider获取联系人和图片,以及相关的知识点。 ...
在Android应用开发中,Content Provider是一种重要的组件,它允许应用程序之间进行数据共享。Content Provider作为Android系统中的数据接口,能够使一个应用的数据被其他应用访问和操作,这在多应用协同工作或者数据...
在Android系统中,Content Provider是四大组件之一,它扮演着数据共享的角色,使得不同应用程序间可以安全地共享数据。本文将深入探讨如何使用Content Provider组件来访问和操作Android设备上的通讯录,特别是针对...