android - Content Provider在多个app中的主要用途是什么

标签 android android-contentprovider

我已经阅读了一段时间的内容提供者,我看到了两种类型,一种是内置的,例如联系人(我理解),另一种是通过 content://东西创建我们自己的内容提供者。好吧,我经历过的大多数例子都是在一个应用程序中完成的。我的意思是,如果我将数据存储在一个应用程序中并按照定义所说的在应用程序之间共享数据的方式检索它,那么使用内容提供程序有什么意义?

我正在查看它,因为我制作了两个项目,我在其中一个项目中使用了内容提供程序,并将一些数据存储在数据库中。然后我制作其他项目并通过内容 ://uri 获取存储的数据。那是内容提供商的主要功能吗?这件事可能吗?如果是这样怎么办? 我一直在问它清楚我的基础知识。

最佳答案

要了解内容提供者,您需要先了解 Android 架构。所有 android 应用程序都在其自己的 VM(虚拟机) 中运行,这意味着当您运行应用程序 'A' 并在其中存储一些文件或创建数据库时,现在当您运行应用 'B' 并在其中创建数据库。

“A”和“B”这两个应用程序彼此不认识,或者简单地说,它们之间不共享数据。为了使数据可访问,一个应用程序必须共享其数据,以便其他应用程序可以访问它。这就是 ContentProvider 的用武之地。

通过内容提供者,任何应用程序都可以将其数据公开给有兴趣获取它的其他应用程序。

一个例子是您的联系人列表。您可以通过内容提供者访问联系人列表,虽然它不是由您创建并由 Android 拥有,但它有意与您共享数据,您可以通过内容提供者访问它。

关于android - Content Provider在多个app中的主要用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29383485/

相关文章:

android - Cordova 8,Android 7.1.0,无法安装任何插件

android - Google IO Rest 设计模式,完成 ContentProvider 并坚持从网络获取数据

Android - 选取图像时无法使用相同的 URI 两次

android - 用户单击时如何获取 Firebase 通知正文?

android - 如何在 Android 中使用带有 DiskLruCache 的 ContentProvider

android - 内容提供商是否是单个阻止实例?

android - ContentResolver 在创建文件后立即查询中不包含刚刚创建的图像

java - Android 中的 AboutToQuit 信号/事件

android - 以编程方式在 ListView 中设置 TextView 的边距/填充

android - 是否可以使用移动的指纹扫描仪作为生物识别设备在服务器上进行身份验证?