ContentProvider query操作过程源码分析(Android Q)

ContentProvider query调用过程源码分析(Android Q)


ContentProvider 是 Android 的四大组件之一,可以很方便的跨进程查询数据,那么 Android 系统是如何实现 ContentProvider 的查询等操作的呢?

ContentProvider 的使用示例

我们首先来看一个 ContentProvider 调用示例:

    public void readData(String selection) {
        Cursor cursor = null;
        try {
            cursor = context.getContentResolver()
                    .query(getTableUri(), null, selection, null, null);
            ……
        } catch (Exception e) {
            LogX.e(TAG, SUB_TAG, getName() + "; " + e.toString());
        } 
    }

这里通过 context 对象的 getContentResolver() 方法,就可以操作 ContentProvider 存储的数据了,如何实现的呢?我们通过源码来分析整个过程。

ContentResolver

ContentResolver 类是一个很关键的类,我们实际使用 ContentProvider 的数据时,都是通过该类的实例来操作的。</

猜你喜欢

转载自blog.csdn.net/u011578734/article/details/113728875