Android:在本地存储数据还是不存储?

时间:2017-05-29 12:33:29

标签: android sqlite

我的Android应用程序正在从网络(node.js服务器)获取数据。

用户创建项目列表(通常为20-30但最多可达60+)。对于每个项目,我查询服务器以获取此项目的信息。一旦获取此信息(每个项目),它将不再更改,但随着时间的推移将添加新记录(另一个服务器调用与前一个不相关)。

我的问题是关于在本地存储此信息(sqlite?)或每次用户请求时从服务器获取此信息(我提醒您调用的数量)。

除了“速度”之外,我应该在本地存储或不存储的指南是什么?

2 个答案:

答案 0 :(得分:1)

你应该首先阅读"离线"原理

总而言之,移动用户永远不会有稳定的互联网连接(甚至根本没有连接),并且您的应用程序的使用不应该依赖于全时互联网访问。

您应该决定哪些数据可以进行离线存储。 它主要取决于用户最常访问的内容。

答案 1 :(得分:1)

如果您的商品没有变化,您应该在本地保留它们作为缓存。尽管数据可能不是很大,但用户会欢迎它,因为您的应用程序需要更少的 Internet使用,这可能会导致长时间等待,超时等。

您可以使用Retrofit来调用Web服务。

在Android应用程序中本地保存数据时,您可以通过多种方式存储它。

首先,最简单的方法是使用共享首选项。我这次不会建议你,因为你正在使用一些物品。

第二个是使用原始SQLite数据库。

但是,我会避免进行SQL查询并尝试使用ORM框架。在Android中,您可以找到多个,例如GreenDAOORMLite等。这是你应该选择的。相信我,最初你可能会发现ORM很难理解但是,当你了解它们如何工作以及它们为我们提供的好处时,你会爱上它们。