2012-07-04 27 views
0

我是新來的android開發,一般編程。在Android [SQLite之前]在運行應用程序中存儲數據的最佳選擇

我正在開發應用程序來爲每個玩家創建足球統計數據,並且從長遠來看,我使用SQLite來存儲數據。然而,我想知道是否有辦法,如果它是有道理的,在我的應用程序運行過程中存儲數據而不插入數據庫,每次用戶試圖添加新的統計數據。

此外,我想知道是否有這樣做的一點,我最大的擔憂是,將數據插入數據庫將減慢我的應用程序,我會很感激更有經驗的開發人員知道什麼,並認爲關於這個'問題'

我試圖研究這個話題,但是我得到的只是將數據存儲在數據庫中,並且使用SharedPreferences,我不認爲這就是我要找的,但是我可能是錯的。

請大家幫忙。

回答

1

SQlite是您正在尋找的。 SharedPreferences只是爲了 - 喜好,而不是大量的數據。

把你的數據庫代碼放在一個單獨的線程中,你不會注意到你的應用程序有任何減速。請回到這裏尋求幫助。

0

我不能直接與android通話,但我在iPhone和桌面應用程序上面臨類似的設計問題。

它取決於應用程序的具體細節是什麼將是最好的方式。如果你的應用主要是進入遊戲和保存統計數據,那麼我會在內存中保留一小部分最新的統計信息,以填充用戶界面,然後創建一個運行在後臺線程上的「數據管理器」,其唯一目的是插入這些線程新添加的統計數據庫。

0

老實說,我會立即把它放在數據庫中。隨着android的工作方式,如果你的用戶導航到另一個應用程序(或者甚至可能接到電話),他們已經輸入的數據可能會丟失。

顯然可以覆蓋這種意外情況(保存在等),但我一直認爲儘快將數據存入永久存儲更爲安全。 (請注意,這是一個激烈爭論的話題,我只是說明了我的偏好)。

立即保存到數據庫不會影響應用程序的速度(取決於您插入的數據類型的多少),以至於電池壽命。由於處理器需要採取更多步驟,因此訪問永久存儲需要更多功率。

如果您在除UI線程以外的線程中執行所有數據庫活動,那麼交易在應用程序速度方面幾乎完全不可察覺。

相關問題