2012-04-17 52 views
0

因此,我有一个在TabActivity中运行的Android应用程序,该应用程序通过此选项卡分隔3个不同的活动。我用SQLite设置了DatabaseHandler类,都很好。如何在Android的选项卡活动中处理数据库

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

我试图想象它,所以它是更容易理解:Explanatory Graph(对不起,我没有足够的声誉还没有图像后直接进入后)提前

感谢。

回答

0

只要完成读取/写入数据库的操作,只要您关闭与数据库的连接,就应该没关系。

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

+0

我从你了解数据库总是保持相同无论我在哪个选项卡中,只要我在其中声明了DatabaseHandler。对不起,但正如我所说我是新手,我担心数据库只能用于单个活动,或者我可以为每个数据库创建多个不同的数据库而不知道它。谢谢! – 2012-04-17 01:43:28

+0

当然,没问题!当你调用close()时,数据库被写入磁盘,所以SQLite应该为你处理并发问题。 – theelfismike 2012-04-17 01:44:35

1

虽然使用您的数据库处理器是在长期的每项活动中posssible我觉得最不平凡的应用程序将使用一个ContentProvider

ContentProvider提供对您的数据的抽象中受益。当您通过使用支持库将它与可用于Android 1.6的CursorLoaderLoaderManager相结合时,它变得非常强大。

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

移动TUTS有几个很好的教程,值得一读的官方Android文档的顶部和例子:

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

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

+0

谢谢!我会看看,但我真的需要将它保存到SQLite数据库中,因为那是我被要求做的! ;) – 2012-04-17 01:57:15

相关问题