首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android中可以使用ContentProvider和直接数据访问数据库吗?(多个应用案例)

在Android中可以使用ContentProvider和直接数据访问数据库吗?(多个应用案例)
EN

Stack Overflow用户
提问于 2011-12-07 00:45:49
回答 1查看 917关注 0票数 0

我有一个与这里类似的问题:Is it possible to use ContentProvider and direct data access to Database in Android?,但在我的例子中,我希望小部件应用程序是一个单独的应用程序。

因此,我有了第一个使用标准SQLiteOpenHelper的sqlite数据库的安卓应用程序。这个帮助器是在我的应用程序onCreate中创建的一个单例。效果很好。

现在,我想让第二个应用程序-so成为一个小部件应用程序--它也需要访问数据库。因此,我想使用ContentProvider来实现。

1)这样做安全吗?或者我是否必须重构主应用程序以仅使用ContentProvider (显然对我来说这将是一个绝妙的例子!)

2)如果可以,应该如何设计contentProvider?我想我将不得不重用我的单例SQLiteOpenHelper,并最终在contentProvider.onCreate中创建它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-05 05:20:28

我也在尝试使用ContentProvider和单例db对象。这似乎是一种有效的方法。

引用自:http://groups.google.com/group/android-developers/browse_thread/thread/20d8cbf7bf88f6d9

“只打开数据库一次。如果你没有使用内容提供商,实现一个单例,它负责在你的应用程序中打开数据库一次。

“让我说清楚--内容提供程序从不关闭数据库没有任何问题。没有什么。这不是避免使用内容提供程序的理由。事实上,这是一个非常好的设计方法,如果您不使用内容提供程序,但直接访问,我建议对单例实现使用完全相同的方法。”

“如果你想有一个内容提供者,并且在其他地方也要直接访问数据库,那么在拥有数据库的单例之上实现你的内容提供者。

-- Dianne Hackborn安卓框架工程师hack...@android.com

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8403569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档