android - 定期从远程数据库更新本地数据库的最佳方法

标签 android mysql android-volley

我正在使用 Volley 库从远程数据库中提取数据。

我已将获取过程锁定在 ProgressDialog 内,因为如果没有,我注意到数据可能无法到达应用程序。通过锁定它,我确保数据可以显示给用户。

现在,我已经实现了本地数据库,因此用户不需要每次都从远程数据库获取相同的信息。

仅当满足特定条件时才会获取信息。这是 SQL:

SELECT *
FROM user_meals
WHERE CURDATE() BETWEEN date_of_meal AND DATE_ADD(date_of_meal, INTERVAL 14 DAY)
AND email = '$email'
ORDER BY date_of_meal DESC
LIMIT 1

流程如下:Android 应用程序向 PHP 文件发送请愿书 -> PHP 文件运行 SQL -> PHP 文件答案 -> Android 应用程序监听答案。

所以我的问题是:

如何使获取过程在后台运行,并使其每隔给定的时间运行一次?

谢谢。

编辑:

显然,定期向服务器发出请求是一种不好的做法。因此,我将根据需要处理它们。谢谢大家。

最佳答案

根据定义,定期获取是 very bad practice

因此,您实际上应该只根据需要执行此操作 - 如果您已经激活了 radio 发送功能,那么至少可以背负其他所有内容。 无论如何,正确的方法是创建一个服务(或 Intent 服务),您在其中发布数据并将其同步到网络(我在领域和远程后端之间成功使用它)

关于android - 定期从远程数据库更新本地数据库的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35467240/

相关文章:

android - 如何添加 JSON header

java - Imageloader 几张图像到 ViewPager

android - 在 android studio 中使用 volley

java - Android解析开户错误

php - 如何在 PHP5 中添加从数据库中获取的日期?

php - 如何对所有查询启用自动mysql真正转义?

mysql - 从 ibdata1 恢复 mysql 数据库

android - 如何在android中为按钮设置动画?

java - 从 ArrayList<HashMap<String, HashMap<String, String>>> 获取元素

java - 带进度对话框的 webview android