0

所以我有一个在 TabActivity 中运行的 Android 应用程序,它通过这个选项卡分隔 3 个不同的活动。我已经用 SQLite 设置了一个 DatabaseHandler 类,一切都很好。

问题是,到目前为止,我真的不知道如何处理数据库,因为它将接收来自其中一项活动的数据,我需要在不同的活动中显示该数据。我不知道我是否应该在主 TabActivity 或在哪里声明数据库,我以前从未在 Android 中使用过 SQL,现在我很迷茫。

我试着把它画出来,这样更容易理解:解释图(对不起,我还没有足够的声誉来直接将图像发布到帖子中)

提前致谢。

4

2 回答 2

1

尽管从长远来看,在每个活动中都可以使用 DatabaseHandler,但我认为大多数重要的应用程序都会受益于使用ContentProvider

ContentProvider提供对数据的抽象。当您将它与 a 结合使用时,它会变得非常强大,CursorLoader并且LoaderManager可以通过使用支持库回到 Android 1.6。

这些概念需要一些研究,但将使跨多个片段或活动的数据共享更简单,更不容易出错。

Mobile Tuts 有几个很好的教程,在官方 Android 文档和示例之上值得一读:

http://mobile.tutsplus.com/tutorials/android/android-sdk_content-providers/

http://mobile.tutsplus.com/tutorials/android/android-sdk_loading-data_cursorloader/

于 2012-04-17T01:49:42.980 回答
0

您应该没问题,只要您在完成对数据库的读/写后立即关闭与数据库的连接。

每个活动都应该能够拥有自己的 DatabaseHandler。

于 2012-04-17T01:35:36.633 回答