3

我有多个活动(在同一个应用程序内)需要访问数据库。实现这一点的最佳模式是什么?即使所有活动都属于同一个应用程序,我是否还需要内容提供者?

哪个活动应该负责打开和关闭数据库?

4

3 回答 3

3

您的两个选项是 Content Provider 或仅使用您自己的数据库抽象层。正如所指出的,如果您需要其他应用程序来共享您的数据,或者如果您需要连接到 Android 的其他部分(如快速搜索框架),则内容提供程序是一种更好的方式。它不应该被绑定到一个 Activity - 应该只是一个你导入和使用的单独的类。

OReilly Android 编程书有一章说明了这两种方法,值得一读。

于 2010-08-02T15:41:55.063 回答
0

没有必要。如果您希望某些外部应用程序访问您的数据,您只需创建一个内容提供程序。

于 2010-07-13T18:01:33.083 回答
0

内容提供者提供了一种结构化的存储机制,可以限制为您自己的应用程序或导出以允许其他应用程序访问。如果您不打算为其他应用程序提供对您的 ContentProvider 的访问权限,请在应用程序清单中将它们标记为 android:exported=false。否则,将 android:exported 属性设置为 true 以允许其他应用访问存储的数据。

https://developer.android.com/training/articles/security-tips

于 2020-05-30T19:13:35.003 回答