在Android中存储大量后端数据

时间:2013-08-26 11:30:30

标签: android

我正在开发一个感兴趣的应用程序,它将显示一个位置的兴趣点列表。

当用户选择一个时,它将显示更多信息和地址等。

如何存储所有这些数据?目前我使用文本文件存储所有数据,随后当用户选择一个地点时,它将解析文本文件并检索必要的数据以供显示。

关于什么是更好的方法来做任何建议?我查看了SharedPrefs,但它更像是存储“键值”对,在这种情况下我需要存储大量数据。

即使设备处于离线状态,我也希望信息可用,因此我无法根据要求从在线服务器下载。

还有其他方法吗?

6 个答案:

答案 0 :(得分:1)

您可以使用XML序列化程序将其存储到XML文件,这是非常好的学习教程,

http://www.ibm.com/developerworks/library/x-android/

可以使用Java XPath Api轻松解析它。在解析XML文件时看看这个

http://www.ibm.com/developerworks/library/x-javaxpathapi/

答案 1 :(得分:0)

答案 2 :(得分:0)

看看Serialization。如果您不需要数据库访问,则可以定义一个包含所需信息的类。然后,您可以执行以下操作:

  • 当您需要保存数据时,您序列化您的对象,将其内容转储到文件,例如SD卡
  • 当您要加载数据时,只需加载上述文件,并从转储文件中取回所有内容

我在我的应用程序中使用此方法来缓存一些需要访问Internet的数据,因此用户仍然可以查看它,并且通过正确的实现,这可以非常好地工作。

答案 3 :(得分:0)

使用数据库,创建表并在其中插入所有数据。当您需要数据时,只需触发查询,您就完成了。

SQLite适用于Android。

答案 4 :(得分:0)

使用SQLite 它可以存储大量数据。 它可以离线使用。 你的所有问题都将被解决。 我们有一个很棒的sq-lite教程 http://www.vogella.com/articles/AndroidSQLite/article.html

答案 5 :(得分:0)

根据您要存储的数据类型,如果它具有正常的数据库结构,您可以使用SQLite数据库(随Android提供)。您可以序列化数据并将其保存在原始或加密文件中,使数据实现Serializable。