前言

简单记录一下MatrixCursor的使用,也是在ContentProvider中返回自定义的数据段。

记录于此,方便自己查阅。

正文

ContentProvider是用于共享数据的,有时候数据不是存入到数据库中,而是自己自定义的数据段。使用query()返回数据是返回Cursor,而数据段时我们自己定义的,这里就需要借用MatrixCursor来返回自己的数据段。

显示的使用方式

@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
    MatrixCursor cursor = new MatrixCursor(new String[]{"key", "value"});
    cursor.addRow(new Object[]{"oorr", "888"});
    return cursor;
}

获取key和value

//uri为ContentProvider暴露uri
Cursor cursor = contentResolver.query(uri, null, null, null, null);
if (cursor != null) {
    cursor.moveToNext();
    try {
        //列中分别为(key, value)
       String key = cursor.getString(0);
       int value = cursor.getInt(1);
    } catch (Exception e) {
        Log.d(TAG, "getInt e : " + e);
    }
    cursor.close();
}

只是示例

参考文章

  1. MatrixCursor的使用

相关文章

暂无评论

none
暂无评论...