Android四大组件——ContentProvider

ContentProvider数据提供者

用与程序与程序之间的数据传递。

ContentProvider提供了其他程序调用该程序内部数据的调用方法。

/*
 * 用来定义其他程序调用该程序数据时
 * 可以进行的操作。
 */
public class MyContentProvider extends ContentProvider {

    @Override//在ContentProvider创建后被调用
    public boolean onCreate() {
        // TODO Auto-generated method stub
        return false;
    }

    @Override//根据Uri,插入valuse对应的数据
    public Uri insert(Uri uri, ContentValues values) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override//根据Uri删除指定条件(selection和selectionArgs)匹配的全部记录
    public int delete(Uri arg0, String selection, String[] selectionArgs) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override//根据Uri查询指定条件(selection和selectionArgs)匹配的全部记录,projection(列名),sortOrder(排序)
    public Cursor query(Uri uri, String[] projection, String selection,
            String[] selectionArgs, String sortOrder) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override//根据Uri修改指定条件(selection)匹配的全部记录,修改为values对应的数据
    public int update(Uri uri, ContentValues values, String selection,
            String[] selectionArgs) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override//返回当前Uri的MIME类型,如果Uri对应数据可能包含多条记录
    //那么MIME类型字符串就以vnd.android.dir/开头
    //如果Uri对应数据只有一条,那么MIME类型字符串就以vnd.android.cursor.item/开头
    public String getType(Uri uri) {
        // TODO Auto-generated method stub
        return null;
    }
}

记得注册:

<provider
            android:name=".MyContentProvider"
            android:authorities="com.example.z_contentprovider">
        </provider>

一般调用ContentProvider的方法是通过Uri对象

还可以调用系统的ContentProvider

/**
 * 数据提供者ContentProvider:
 * 四大组件,存储方式,可以跨程序处理数据
 * 其他存储形式都只是在单独一个程序中完成一个数据的共享
 * 不能调用其他程序的数据
 */
/**
 * 其他程序调用自定义的ContentProvider时,需要用通用资源表字符(Uri)记录授权信息
 * android:authorities="com.example.z_contentprovider"
 * 这是使用ContentProvider需要在AndroidManifest.xml中组成的一个属性,就是授权记录的名字。
 */
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        /**
         * 系统提供的ContentProvider可以调用系统短信,联系人,图片音乐等资源。
         * ContentResolver对象和ContentProvider一样提供了通过uri的增删查改方法。
         */
        ContentResolver cp = getContentResolver();
        ContentValues values = new ContentValues();
        //cp.insert(url, values);
        //cp.delete(url, where, selectionArgs);
        //cp.update(url, values, where, selectionArgs)
        //cp.insert(url, values);
    }
}

如果有什么错误,或者我理解错误或不当的,恳请大家纠正,谢谢!嘻嘻嘻~

时间: 2024-10-10 07:50:23

Android四大组件——ContentProvider的相关文章

android四大组件--ContentProvider详解

一.相关ContentProvider概念解析: 1.ContentProvider简介 在Android官方指出的Android的数据存储方式总共有五种,分别是:Shared Preferences.网络存储.文件存储.外储存储.SQLite.但是我们知道一般这些存储都只是在单独的一个应用程序之中达到一个数据的共享,有时候我们需要操作其他应用程序的一些数据,例如我们需要操作系统里的媒体库.通讯录等,这时我们就可能通过ContentProvider来满足我们的需求了. 2.为什么要选择Conte

android四大组件--ContentProvider具体解释

一.相关ContentProvider概念解析: 1.ContentProvider简单介绍 在Android官方指出的Android的数据存储方式总共同拥有五种,各自是:Shared Preferences.网络存储.文件存储.外储存储.SQLite.可是我们知道一般这些存储都仅仅是在单独的一个应用程序之中达到一个数据的共享,有时候我们须要操作其它应用程序的一些数据,比如我们须要操作系统里的媒体库.通讯录等,这时我们就可能通过ContentProvider来满足我们的需求了. 2.为什么要选择

Android四大组件之内容提供者--ContentProvider

Android四大组件之内容提供者--ContentProvider 1,什么是ContentProvider ContentProvider将应用中的数据对其它应用进行共享, 提供增删改查的方法 ContentProvider统一了数据的访问方式,不必针对不同数据类型采取不同的访问策略 ContentProvider将数据封装,只暴露出我们希望提供给其它程序的数据 ContentProvider中可以注册观察者, 监听数据的变化 2,怎么创建 2.1定义类继承ContentProvider,

深入理解Android四大组件之一ContentProvider

ContentProvider作为Android四大组件之一,平时写自己的ContentProvider比较少,但是用到ContentProvider地方还是有的,比如去获取通讯录信息,这其实就间接的使用到了通讯录程序的ContentProvider组件. 先简单说一下ContentProvider组件.后面重点分析源码了解ContentProvider运行的过程. ContentProvider可以实现在应用程序之间共享数据. Android为常见的一些数据提供了默认的ContentProvi

Android 四大组件 (四) ContentProvider介绍

ContentProvider虽然与Activity.Service.BroadcastReceiver齐名为Android四大组件.如果你不是特别开发一款与其他APP有数据交互的应用,它的使用频率远没有另外三者高.因为已经介绍了前三大组件,为了完善Android四大组件介绍了解,这次补充下ContentProvider介绍.哈哈~一边在看世界杯,巴西打瑞士.目前巴西1:0.我把所有金币全压巴西了~题外话说完,下面简单介绍下ContentProvider. 一.  ContentProvider

Android四大组件--Activity详解

Android四大组件--Activity详解 分类: android android应用android开发 本文的主要内容包括1.activity的建立.配置和使用:2.activity的跳转和传值:3.startActivityForResult:4.activity的生命周期. 1.activity的建立.配置和使用 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况

Android 四大组件 详解

[置顶] Android四大组件详解 分类: Android四大组件2013-02-09 16:23 19411人阅读 评论(13) 收藏 举报 Android开发 注:本文主要来自网易的一个博主的文章,经过阅读,总结,故留下文章在此 Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity : 应用程序中,一个

android四大组件

Activity 为应用提供了可视化用户界面,与用户进行交互 启动模式 standard singleTop singleTask singleInstance ContentProvider内容提供者 共享数据,为跨应用的数据交换提供了一个标准 insert update delete query ContentResovler uri BroadcastReceiver广播接收者 用于接收程序(包括用户开发的程序和系统内建程序)所发出的broadcastReceiver 耗电量 开机启动 窃

Android四大组件及其应用--&gt;

android四大组件分别为:activity/service/content provider/broadcast receiver; 1.activity--> (1)一个Activity通常就是一个单独的屏幕(窗口). (2)Activity之间通过Intent进行通信. (3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity. 2.service--> (1)service用于在后台完成