2012-04-17 89 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

相關問題