2015-11-17 36 views
0

我有3層數據結構:Android,如何保存持久性數據?

  1. 一組像琴絃{ 「傑克」, 「傑森」, 「喬」,...}
  2. 一組(字符串,整數)如{( (「Jack」,10),(「Jason」,14),(「Joe」,11),...}
  3. 一組(int,int) ),( 「傑森」,14,0),( 「喬」,11,20),...}

順便說一句:

  • 每個字符串都很輕(只是一個用戶名)並且是唯一的,因此所有集合成員都是唯一的。
  • 我需要像聯合,交叉,減法和比較所有這些操作。
  • 我需要操作足夠快。
  • 每組成員可能會超過幾千。
  • 我需要將它們全部保留並保存爲其他應用程序會話。

根據以上所述,您建議採用哪種方式? SharedPreferences或sqlite或文件或什麼?我不知道哪個更好。提前致謝。

+0

您應該會發現這有助於:http://stackoverflow.com/questions/6276358/pros-and-cons-of-sqlite-and-shared-preferences – user2520215

+0

如果您只想保存鍵值對,SharedPreferences可以有用。但是,複雜的數據結構將需要數據庫(即sqlite)。 –

+2

使用sharedPreference進行用戶設置,當您需要重複訪問大量數據時使用sqlite,以及在下次打開應用程序時只需要存儲該文件的文件。 @KrupalShah對於複雜的數據結構,我將使用一個文件和可序列化的接口。 – Nanoc

回答

0

我使用的文件系統,它工作正常。也處理併發訪問文件,我使用了一個readwritelock也很好。