3

在我的应用程序中,我有多个 sqlite 数据库,这些数据库都通过内容提供程序导出,以便我的其他应用程序能够读取数据。

有一个包含我所有数据库的内容提供者,还是每个数据库都有一个内容提供者更好?我的其他应用程序一次只需要访问一个数据库。

注意我读过类似的帖子,我的应用程序必须能够有多个数据库。

4

2 回答 2

4

通常:这取决于:-)

但是,如果您必须使用多个数据库,那么这些数据库可能包含或多或少不相关的数据。在这种情况下,我将为每个数据库使用不同的 ContentProvider。这是对关注点的明确分离,并使 API 更易于理解。

顺便说一句:牢记安全。如果您只希望您的应用程序使用数据,请使用签名访问级别的权限!

于 2013-04-08T12:42:35.653 回答
0

如果数据库中的数据不相关,@WolframRittmeyer 的答案就是要走的路。

如果您想公开来自多个来源的相似数据,您可以尝试将多个Cursors来自不同数据库的数据嵌入到一个MergeCursor.

请注意,getColumns()和其他相关方法可能会根据当前MergeCursor位置返回不同的结果。

于 2015-04-14T08:49:42.560 回答