首页 > 移动平台 > 详细

Android 创建内容提供器

时间:2016-01-23 07:53:07      阅读:191      评论:0      收藏:0      [点我收藏+]

如果想要实现跨程序共享数据的功能,官方推荐的方式就是使用内容提供器,可以通过新建一个类去继承 ContentProvider 的方式来创建一个自己的内容提供器。

ContentProvider 类中有六个抽象方法,使用子类继承它的时候,需要将这六个方法全部重写。

public class MyProvider extends ContentProvider {
    @Override
    public boolean onCreate() {
        /**
         * 初始化内容提供器的时候调用。
         * 通常会在这里完成对数据库的创建和升级等操作
         * 返回值表示初始化是否成功。
         * 只有当存在 ContentResolver尝试访问程序中的数据时,内容提供器才会被初始化
         */
        return false;
    }

    @Nullable
    @Override
    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
        /**
         * 从内容提供器中查询数据。
         * 使用uri参数来确定查询哪张表,projection参数用于确定查询哪些列
         * selection和selectionArgs参数用于约束查询哪些行,sortOrder参数用于对结果进行排序
         * 查询的结果存放在Cursor对象中返回
         */
        return null;
    }

    @Nullable
    @Override
    public String getType(Uri uri) {
        /**
         * 根据传入的内容URI来返回相应的MIME类型
         */
        return null;
    }

    @Nullable
    @Override
    public Uri insert(Uri uri, ContentValues values) {
        /**
         * 向内容提供器中添加一条数据。
         * 使用uri参数来确定要添加到的表,待添加的数据保存在values参数中
         * 添加完成后,返回一个用于表示这条新记录的URI
         */
        return null;
    }

    @Override
    public int delete(Uri uri, String selection, String[] selectionArgs) {
        /**
         * 从内容提供器中删除数据。
         * 使用uri参数来确定删除哪一张表中的数据,selection和selectionArgs参数用于约束更新哪些行
         * 被删除的行数将作为返回值返回
         */
        return 0;
    }

    @Override
    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
        /**
         * 更新内容提供器中已有的数据。
         * 使用uri参数来确定更新哪一张表中的数据,新数据保存在values参数中
         * 受影响的行数将作为返回值返回
         */
        return 0;
    }
}

 

Android 创建内容提供器

原文:http://www.cnblogs.com/woider/p/5152751.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!