2010-09-29 19 views
0

最初我在我的android應用程序中使用散列表。我喜歡哈希表的關鍵點是它能夠存儲複雜的項目,例如:coordinate - > float [2],velocity - > float [2]。在我的android應用程序中使用散列表或SQL Lite

但是,從很多示例中,在android中使用SQLlite表似乎更有效,但它可能只能將所有值存儲在由rowID定義的一行中。

所以任何人都可以在這個問題上啓發我嗎?使用哈希表或SQL lite更可行? 如果我退出應用程序,哈希表可以保存數據嗎?

回答

1

如果我退出應用程序,散列表可以保留數據嗎?

不,當然沒有。一個HashTable實例將在您的應用運行時處於活動狀態,但只要關閉該應用,它就會被刪除。現在,把你的手放在心裏,回答這些問題:

  • 你需要保存多少數據?
  • 您多久使用一次這些數據?
  • 數據持續多久?

這就是說,讓我們談論更多的方式來persist data

  • 共享偏好如果你想要一個簡單的方法來持久簡單的數據結構,這是要走的路。實際上,共享首選項允許您將數據保存在與HashTable非常相似的key<->value架構中。
  • SQlite這種方法非常有用,但如果您不保存複雜的數據結構,則沒有必要。如果你只是想保存一些值,使用SQLite就像用大炮殺死蒼蠅。
  • 還有更多的方法來堅持我認爲不適用於你想要做的數據。

所以,乍一看,我建議你看看共享首選項的例子,它似乎是你的場景的理想選擇。

+0

讓我想想共享偏好。我使用了一些複雜的數據對象,因此我可能更喜歡SQL Lite。我面臨的唯一問題是學習如何將複雜的數據類型轉換爲sql中可理解的結構。 – aladine 2010-09-29 05:22:40

+0

什麼樣的複雜數據? – Cristian 2010-09-29 05:24:23

+0

正如我之前指出的那樣。這是一個哈希表類似的結構 – aladine 2010-09-29 05:38:48

1

SQLite並不比哈希表更高效。你真的比較了兩個完全不同的想法。 SQLite用於持久性存儲,散列表用於易失性存儲。你的應用程序需要什麼?

+0

我需要持久存儲。所以可能我會用SQL lite – aladine 2010-09-29 05:19:53

相關問題