我的Android应用程序正在从网络(node.js服务器)获取数据。
用户创建项目列表(通常为20-30但最多可达60+)。对于每个项目,我查询服务器以获取此项目的信息。一旦获取此信息(每个项目),它将不再更改,但随着时间的推移将添加新记录(另一个服务器调用与前一个不相关)。
我的问题是关于在本地存储此信息(sqlite?)或每次用户请求时从服务器获取此信息(我提醒您调用的数量)。
除了“速度”之外,我应该在本地存储或不存储的指南是什么?
答案 0 :(得分:1)
你应该首先阅读"离线"原理
总而言之,移动用户永远不会有稳定的互联网连接(甚至根本没有连接),并且您的应用程序的使用不应该依赖于全时互联网访问。
您应该决定哪些数据可以进行离线存储。 它主要取决于用户最常访问的内容。
答案 1 :(得分:1)
如果您的商品没有变化,您应该在本地保留它们作为缓存。尽管数据可能不是很大,但用户会欢迎它,因为您的应用程序需要更少的 Internet使用,这可能会导致长时间等待,超时等。
您可以使用Retrofit来调用Web服务。
在Android应用程序中本地保存数据时,您可以通过多种方式存储它。
首先,最简单的方法是使用共享首选项。我这次不会建议你,因为你正在使用一些物品。
第二个是使用原始SQLite数据库。
但是,我会避免进行SQL查询并尝试使用ORM框架。在Android中,您可以找到多个,例如GreenDAO,ORMLite等。这是你应该选择的。相信我,最初你可能会发现ORM很难理解但是,当你了解它们如何工作以及它们为我们提供的好处时,你会爱上它们。