0

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

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

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

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

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

还有其他方法可以做到这一点吗?

4

6 回答 6

1

您可以使用 XML 序列化程序将其存储到 XML 文件中,这里有一个很好的学习教程,

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

并且可以使用 Java XPath Api 轻松解析。看看这个解析 XML 文件

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

于 2013-08-26T12:24:22.387 回答
1

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

于 2013-08-26T12:02:34.073 回答
0

关系数据库怎么样?

http://developer.android.com/training/basics/data-storage/databases.html

于 2013-08-26T11:33:16.980 回答
0

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

SQLite 适用于 Android。

于 2013-08-26T11:40:08.343 回答
0

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

于 2013-08-26T12:27:26.893 回答
0

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

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

我在我的应用程序中使用这种方法来缓存一些需要互联网访问的数据,因此用户仍然可以查看它,并且通过适当的实施,这可以很好地工作。

于 2013-08-26T11:38:05.593 回答