ContentProvider简要说明

Posted xhBruce

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ContentProvider简要说明相关的知识,希望对你有一定的参考价值。

ContentProvider简要说明

android.content.ContentProvider


简要概述

  内容提供者是 android 应用程序的主要构建块之一,为应用程序提供内容。它们封装数据并通过单个 ContentResolver 接口向应用程序提供数据。==只有在需要在多个应用程序之间共享数据时,才需要内容提供程序。==例如,联系人数据由多个应用程序使用,必须存储在内容提供程序中。如果不需要在多个应用程序之间共享数据,可以直接通过 SQLiteDatabase 使用数据库。
  当通过 ContentResolver 发出请求时,系统检查给定 URI 的权限,并将请求传递给在权限中注册的内容提供者。内容提供者可以按照自己的意愿解释 URI 的其余部分。UriMatcher 类有助于解析 uri。


从主要方法看出,ContentProvider 提供数据的统一访问格式URI。对于数据的使用者来说,无需知晓数据来源和类型,只需简单地使用 ContentProvider 提供的数据操作接口:增(insert)、删(delete)、改(update)、查(query)

简单使用

Android 内容提供者(Content Provider) | 菜鸟教程
1、数据库创建类 SQLiteOpenHelper
2、自定义ContentProvider类实现onCreate(),getType(),根据需求重写对应的增删改查方法,实现对SQLiteDatabase数据操作
3、AndroidManifest.xml中为ContentProvider进行注册

SQLiteDatabase实际上操作增删改查

ContentObserver监听数据变化

待续~~~~

ContentResolver多个应用程序之间共享数据

4.4.1 ContentProvider初探

待续~~~~

内容URI

android.net.Uri

<prefix>://<authority>/<data_type>/<id>

prefixauthoritydata_typeid
前缀:一直被设置为content://授权:指定内容提供者的名称数据类型这个指定特定的请求记录

URI (标识、定位任何资源的字符串)

待续~~~~

以上是关于ContentProvider简要说明的主要内容,如果未能解决你的问题,请参考以下文章

Android组件系列----ContentProvider内容提供者

ContentProvider openFile接口目录遍历漏洞

ContentProvider openFile接口目录遍历漏洞

ContentProvider openFile接口目录遍历漏洞

ContentProvider(联系人) - 没有这样的列:metadata_dirty

Android基础&进阶