gpt4 book ai didi

android - getContentResolver() 是如何工作的?

转载 作者:IT老高 更新时间:2023-10-28 22:24:45 25 4
gpt4 key购买 nike

我在网上看了一个关于ContentProvider的类(class),演示了如何定义和使用ContentProvider

我对使用名为 getContentResolver() 的方法感到困惑。这个方法返回什么?

我的 ContentProvider 没有实例化,代码只写了 getContentProvider().query()

我不明白 ContentProvider 是如何工作的。

最佳答案

它返回内容解析器。


什么是内容解析器?

内容解析器是您的应用程序中的单个全局实例,它提供对您(和其他应用程序的)内容提供者的访问。内容解析器的行为正如其名称所暗示的那样:它接受来自客户端的请求,并通过将这些请求定向到具有不同权限的内容提供者来解析这些请求。为此,内容解析器存储了从权限到内容提供者的映射。这种设计很重要,因为它允许以简单且安全的方式访问其他应用程序的内容提供程序。

Content Resolver 包括与 Content Provider 类中的抽象方法(插入、删除、查询、更新)相对应的 CRUD(创建、读取、更新、删除)方法。 Content Resolver 不知道与之交互的 Content Providers 的实现(也不需要知道);每个方法都传递一个 URI,该 URI 指定要与之交互的 Content Provider。


什么是内容提供者?

虽然内容解析器提供了应用程序内容提供者的抽象,但内容提供者提供了来自底层数据源(即 SQLite 数据库)的抽象。它们提供了定义数据安全性的机制(即通过强制读/写权限),并提供了一个标准接口(interface),将一个进程中的数据与另一个进程中运行的代码连接起来。

内容提供者基于使用 content://架构 的简单 URI 寻址模型为发布和使用数据提供接口(interface)。它们使您能够将应用程序层与底层数据层分离,通过抽象底层数据源使您的应用程序数据源不可知。

来源 - androiddesignpatterns

关于android - getContentResolver() 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17567326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com