Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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_Sqlite - Fatal编程技术网

Android:是否在本地存储数据?

Android:是否在本地存储数据?,android,sqlite,Android,Sqlite,我的Android应用程序正在从web(node.js服务器)获取数据 用户创建一个项目列表(通常为20-30个项目,但最多可达60个项目)。对于每个项目,我查询服务器以获取该项目的信息。一旦获取了此信息(每个项目),它将不再更改,但随着时间的推移会添加新记录(另一个与前一个服务器调用无关的服务器调用) 我的问题是,要么本地存储此信息(sqlite?),要么每次用户请求时从服务器获取此信息(我提醒您呼叫数量) 除了“速度”之外,我的指导原则是:是否在本地存储?您应该阅读“脱机优先”原则 总而言之

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

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

我的问题是,要么本地存储此信息(sqlite?),要么每次用户请求时从服务器获取此信息(我提醒您呼叫数量)

除了“速度”之外,我的指导原则是:是否在本地存储?您应该阅读“脱机优先”原则

总而言之,移动用户并不总是有稳定的互联网连接(甚至根本没有连接),应用程序的使用也不应该依赖于全职互联网接入

您应该决定哪些数据可用于脱机存储。
这主要取决于用户最常访问的内容。

如果您的项目没有变化,您应该在本地保存它们以作为缓存。尽管数据可能不是很大,但用户会欢迎它,因为你的应用程序需要较少的互联网使用量,这可能会导致长时间等待、超时等

您可以利用来调用web服务

当涉及到在Android应用程序中本地持久化数据时,您可以通过多种方式存储数据

第一个最简单的方法是使用共享首选项。这次我不建议你,因为你在用一些东西

第二种方法是使用原始SQLite数据库


但是,我会避免进行SQL查询,并尝试使用ORM框架。在安卓系统中,你可以找到几个,比如,等等。这是你应该做出的选择。相信我,一开始你可能会觉得ORM很难理解,但当你了解它们是如何工作的,以及它们为我们提供的好处时,你会喜欢它们。

这意味着所有数据都应该始终存储在本地。我不确定这是一个好的做法还是我遗漏了什么?你可以决定哪些数据可以脱机使用或不可以省略。这确实是一个好的做法。问题是如何确定如何将本地数据与web服务同步,但正如您告诉我们的,项目没有变化,因此非常简单。有两种类型的数据,一种是本地存储的数据,另一种是从web获取的信息,我对后者有疑问,但我知道在这种情况下建议将其存储在本地。我更喜欢尽可能少地依赖“插件”。因此,如果我理解正确,建议在本地存储此信息,即使是出于缓存目的。是的,建议这样做。它们不是插件,而是增强核心android的库。此外,它们还被其他应用程序广泛使用。