Android ContentProvider 内容提供者

接下来我们开始学习 Android ContentProvider (内容提供者)

ContentProvider (内容提供者) 可以让我们的 APP 访问别的应用,或者说一些 ContentProvider 暴露给我们的一些数据,比如手机联系人,短信等,如果我们想对这些数据进行读取或者修改,就需要用到 ContentProvider

当然了, ContentProvider 也允许我们将自己应用里的数据暴露出来,给其它的应用进行读取或操作,我们可以选择要暴露的数据,可以避免了我们隐私数据的的泄露

Android ContentProvider

当我们想允许自己 APP 的数据开放给别的 APP 进行读取操作,我们就需要让 APP 实现 ContentProvider 类,同时注册一个 URI,然后其它的 APP 就可以通过 ContentResolver 根据 URI 就可以访问我们 APP 的数据

数据可以是任何内容,比如数据库,一个文件,一个 XML 或者其它

当然了,后面我们会学到的 SharedPreference 则使用基于数据库模型的简单表格提供数据

ContentProvider 运行流程

Android ContentProvider 的运行原理可以用一张图来表示

URI

URI,统一资源标识符(Uniform Resource Identifier,或 URI)是一个用于标识某一互联网资源名称的字符串,比如本文的地址也是一个 URI

http://www.twle.cn/yufei/android-basic-contentprovider.html

URI 对 ContentProvider 非常重要,因为 ContentProvider 使用以content://` 开头的 URI 协议

content://cn.twle.android.provider.MsLanguageProvider/lang/kotlin
  1. content://

    协议头,功能类似 http://ftp://ContentProvider 只会识别以 content:// 开头的 URI 协议

  2. cn.twle.android.provider.MsLanguageProvider

    ContentProvider 所在的全限定类名,就是 包名+类名

  3. lang

    资源部分,如果想访问 lang 下的所有资源,则可以去掉 /kotlin

  4. kotlin

    就是 lang 下的 kotlin 资源

参考文档

  1. Android ContentProvider

Android 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.