Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android上保存少量数据的最佳方法_Android_Persistence - Fatal编程技术网

在android上保存少量数据的最佳方法

在android上保存少量数据的最佳方法,android,persistence,Android,Persistence,我有一个android项目,需要保存少量数据。要么是3个表,每个表有1-20个条目,要么是2个字典,里面有嵌套的字典(所以不仅仅是主数据类型),或者类似的东西。这些只是服务器的用户首选项和登录名 我已经读过关于存储数据的选项,但我不知道哪一个最适合我的情况。我想使用共享首选项,但我不太确定是否可以将嵌套信息存储在那里。它有用吗?有更好的解决办法吗 我的数据(示例): 服务器登录:一些密钥,包括数据密钥。数据包含URL、用户、密码等 收藏夹:项目的不同信息,包括服务器密钥/数据 数据很少更新,

我有一个android项目,需要保存少量数据。要么是3个表,每个表有1-20个条目,要么是2个字典,里面有嵌套的字典(所以不仅仅是主数据类型),或者类似的东西。这些只是服务器的用户首选项和登录名

我已经读过关于存储数据的选项,但我不知道哪一个最适合我的情况。我想使用共享首选项,但我不太确定是否可以将嵌套信息存储在那里。它有用吗?有更好的解决办法吗

我的数据(示例):

  • 服务器登录:一些密钥,包括数据密钥。数据包含URL、用户、密码等
  • 收藏夹:项目的不同信息,包括服务器密钥/数据

数据很少更新,因此我还可以冗余存储一些信息,以避免连接表或读取多个文件。数据必须跨会话持久化并安全存储,不可用于任何其他应用程序…

我建议使用
sqlite
数据库。此存储可跨多个进程使用,并且只能从您的应用程序进行私有访问。看一看

SharedReference
用于存储基本数据类型,因此无法轻松存储嵌套字典

SharedReferences类提供了一个通用框架,允许 您需要保存和检索基本数据的持久键值对 类型。您可以使用SharedReferences保存任何基本数据: 布尔、浮点、整型、长型和字符串。这些数据将持续存在 跨用户会话(即使应用程序被终止)


我想数据库是你最好的选择。阅读它不会花费更多的时间吗?有表格式的数据,所以我建议数据库是最好的选择。我可以通过创建多个表/字典来避免嵌套字典。然而,在这种情况下,每次我需要一些东西时,我至少要读两本字典。和表一样,我总是需要一个连接。哪一种情况的开销更小(对于应用程序,而不是开发)?如果我使用数据库,那么我想,我不能使用偏好活动,对吗?@Antiohia这不像如果你使用数据库,那么你不能使用SharedReference。您可以使用共享首选项来存储键、值配对数据以进行临时存储。我真的不认为对于我的一小部分数据,我需要同时使用这两种数据。我只是想找出哪一个更好,因为我需要存储数据。