自定义内容提供器MyProvider

MyProvider

package contact.deqiang.org.contactlist.Demo1;

import android.content.ContentProvider;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

/**
 * Created by 王德强 on 2017/6/8.
 */

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

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

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

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

    /**
     * 功能:从内容提供器中删除数据
     * @param uri 使用 uri 参数来确定删除哪一张表中的数据
     * @param selection selection
    和 selectionArgs 参数用于约束删除哪些行
     * @param selectionArgs
     * @return 被删除的行数将作为返回值返回。
     */
    @Override
    public int delete(@NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) {
        return 0;
    }
    /**
     * 更新内容提供器中已有的数据。
     * @param uri 使用 uri 参数来确定更新哪一张表中的数据,新数据保存在 values 参数中
     * @param selection selection 和 selectionArgs 参数用于约束更新哪些行
     * @param selectionArgs
     * @return 受影响的行数将作为返回值返回。
     */
    @Override
    public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection, @Nullable String[] selectionArgs) {
        return 0;
    }
}
原文地址:https://www.cnblogs.com/CCCrunner/p/11781970.html