2010-07-13 180 views
3

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

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

回答

0

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

3

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

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

+0

我想做相反的事情。除了我自己的应用程序之外,我不想允许访问我的内容提供商。我只是将它用于搜索建议。你知道我该怎么做?谢谢。 – karim 2010-09-14 11:46:52

+0

您可以为内容提供者指定权限,请参阅:http://developer.android.com/reference/android/R.styleable.html#AndroidManifestProvider – Eno 2010-09-22 20:31:53