java - Android 存储数据的策略

标签 java android google-app-engine

听起来好像我在胡言乱语(无论如何我都是这样)

所以我正在考虑创建一个 Android 应用程序,它基本上查询我的服务器以根据用户标准获取一些数据并将其显示给用户(例如,想想 Yelp)。用户还可以将数据推送到服务器(如评分、评论等)

我想要:

  1. 我希望该应用也可以在离线模式下使用(即没有网络连接)

我能做到,因为:

  1. 服务器端数据不会频繁刷新,因此将每个请求重定向到网络没有意义。然而,对于客户端更新(例如用户给出评级时),我不确定该怎么做。我应该立即将其发送到服务器还是将其保留在本地数据存储中并定期发送?

我是如何考虑这样做的(这是我困惑的地方)

  1. 考虑使用手机存储将数据存储在 SqlLite 数据库中吗?
  2. 如何将本地数据库与云数据存储同步?这样,无论何时连接到网络或在一定的超时时间之后,客户端和服务器都会保持同步?
  3. 我应该使用什么云存储? Google App Engine 怎么样?
  4. 人们通常如何处理它?在我看来是常见问题。

最佳答案

<强>1。考虑使用手机存储将数据存储在 SqlLite 数据库中? 您可以这样做,但我建议您阅读其他解决方案以及 Android here存储的优缺点。

<强>2。如何将本地数据库与云数据存储同步?这样,无论何时连接到网络或在一定的超时时间之后,客户端和服务器都会同步?

您可以将离线数据库 (sqlite) 数据存储在文件中,然后在获得互联网连接时上传(更像是“备份”)到服务器(可以是 Google App Engine)。阅读有关此的更多信息 here

<强>3。我应该使用什么云存储? Google App Engine 怎么样?

Google App Engine 非常适合您的后端服务器。 this是官方文档。您还可以找到有关创建 Google App Engine 连接的 Android 应用程序的教程 here

关于java - Android 存储数据的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22891048/

相关文章:

android - 无法删除导致库版本冲突的外部库

java - 如何将 log4j2 配置为在启动时使用时间戳翻转?

java - 没有 Maven 的 Vaadin Clojure 小部件编译

android - 如何在android中滚动显示每个我选择的标签的背景图片

postgresql - 如何将 Google App Engine (Flex) Go 应用程序连接到 Google Cloud Postgres 实例

python - GAE : Routes vs standard

python - 尝试使用从 Google App Engine 到 BigQuery 的 insertAll 时出现 HTTP 501 错误

java - HashMap单位转换程序无法识别key

java - 运行 java 分析器

android - 如何使用内容解析器从图库中的图像获取路径数据