2015-11-17 31 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也很好。