Android Content Provider在同一个应用程序中

时间:2010-07-13 17:57:57

标签: android database design-patterns android-contentprovider

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

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

3 个答案:

答案 0 :(得分:3)

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

OReilly Android编程书有一章说明了这两种方法,它是一本很好的阅读。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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