美文网首页Android
内容提供器

内容提供器

作者: 和莱 | 来源:发表于2021-01-03 17:48 被阅读0次

    一般有两种,一种是使用现有的内容提供器,读取和操作相应程序的数据,另一种是创建自己的内容提供器给其他程序提供数据。

    ContentResolver基本用法
    借助ContentResolver访问其他程序数据,ContentResolver提供了insert(), delete(), query()和update()对内容提供器的数据进行增删查改,使用一个Uri参数定位数据,内容提供器使用内容URI为数据建立标识符。包括authority和path两部分。
    Uri uri = Uri.parse("content://com.example.app.provider/table1");
    ContentResolver contentResolver = getContentResolver();
    ContentValues mContentValues = new ContentValues();
    mContentValues.put("name",22);
    mContentValues.put("price",30);
    contentResolver.insert(uri,mContentValues);

    创建内容提供器
    ublic class MyProvider extends ContentProvider{
    //内容提供器初始化时调用,在这里完成对数据库的创建和升级操作,只有当
    //ContentResolver尝试访问数据时才会初始化。
    @Override
    public boolean onCreate() {
    return false;
    }

    @Nullable
    @Override
    public Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection,
    @Nullable String[] selectionArgs, @Nullable String sortOrder) {
    return null;
    }

    @Nullable
    @Override
    public String getType(@NonNull Uri uri) {
    return null;
    }

    @Nullable
    @Override
    public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) {
    return null;
    }

    @Override
    public int delete(@NonNull Uri uri, @Nullable String selection,
    @Nullable String[] selectionArgs) {
    return 0;
    }

    @Override
    public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection,
    @Nullable String[] selectionArgs) {
    return 0;
    }
    }

    相关文章

      网友评论

        本文标题:内容提供器

        本文链接:https://www.haomeiwen.com/subject/vyleoktx.html