0

我想知道我们是否可以直接使用 (contacts.db, mmssms.db) 之类的数据库而不是内容提供者?

我有理由这样问。在我最近的项目中,我应该开发一个联系人应用程序。我使用内容提供者进行联系人管理。正如我通过内容提供者了解到的那样,我一次只能通过 URI 查询表,没有办法(至少,我没有找到)连接两个表然后解决查询。

而且我读过,数据库只对最初创建它们的应用程序可见,所以我的应用程序能够访问这些数据库吗?

我只是我自己手机的爱好开发者。我无意制作一个直接使用数据库的应用程序。我可以从设备中提取数据库,通过 sqlite 分析它们。不是我反对内容提供者,或者他们现在不适合我的需要写,只是它可以做到吗?

有什么意见吗?

4

1 回答 1

1

内容提供者为您提供的不仅仅是数据库访问。当底层数据发生变化时,能够使用加载器自动重新加载您的数据(并更新您的 UI)可以极大地简化您的应用程序。

内容提供者的目标更多是创建一个单一的、受控的层来访问您的数据。没有什么能阻止您创建将多个表连接在一起并返回结果连接结果的自定义 URI。

于 2013-05-03T18:55:38.880 回答