我应该使用什么将数据库服务器同步到本地? IntentService 或 AsyncTask
what should I use for syncing database server to local? IntentService or AsyncTask
我正在创建需要离线工作的应用程序。所以我需要在服务器数据库和本地数据库之间同步。我已经编写了使用 AsyncTask 在服务器和本地之间进行同步的脚本,但有时它无法立即执行脚本(延迟),我不确定尽管应用程序已关闭,但是否可以执行 asynctask。
任务:
用户向服务器请求新数据 --> 服务器在 JSON 中提供新数据(并向其他 phone 发送 firebase 推送通知同步 --> AsyncTask/IntentService 处理用户 phone (insert/update)
中的数据
我什么时候需要执行任务?
- 每次我按下保存按钮。
- 当用户收到类型为 "sync" 的 firebase 推送通知时(我已经编写了这个脚本)。 (脚本需要运行应用程序是否关闭或打开并且没有点击通知,通知不可点击并且只是信息同步任务运行ning)
所以我的问题是我应该为此目的使用 AsynTask 还是 IntentService?
**任何关于通过改造与 IntentService 同步的教程都会对我有很大帮助。
在 IntentService 和 AsyncTask 之外,IntentService 更适合这个目的。 AsyncTask 不能独立存在,需要从 Activity 或服务启动。此外,在这种情况下,您确实需要在任务完成时更改 UI,因此 AsyncTask 是不可能的。
对于数据同步,您还可以查看 WorkManager/JobScheduler。它很容易使用 API,并且会为您提供更好的同步选项,例如:连接到 WiFi 时同步,或连接到充电器时同步等。
我正在创建需要离线工作的应用程序。所以我需要在服务器数据库和本地数据库之间同步。我已经编写了使用 AsyncTask 在服务器和本地之间进行同步的脚本,但有时它无法立即执行脚本(延迟),我不确定尽管应用程序已关闭,但是否可以执行 asynctask。
任务:
用户向服务器请求新数据 --> 服务器在 JSON 中提供新数据(并向其他 phone 发送 firebase 推送通知同步 --> AsyncTask/IntentService 处理用户 phone (insert/update)
中的数据我什么时候需要执行任务?
- 每次我按下保存按钮。
- 当用户收到类型为 "sync" 的 firebase 推送通知时(我已经编写了这个脚本)。 (脚本需要运行应用程序是否关闭或打开并且没有点击通知,通知不可点击并且只是信息同步任务运行ning)
所以我的问题是我应该为此目的使用 AsynTask 还是 IntentService?
**任何关于通过改造与 IntentService 同步的教程都会对我有很大帮助。
在 IntentService 和 AsyncTask 之外,IntentService 更适合这个目的。 AsyncTask 不能独立存在,需要从 Activity 或服务启动。此外,在这种情况下,您确实需要在任务完成时更改 UI,因此 AsyncTask 是不可能的。
对于数据同步,您还可以查看 WorkManager/JobScheduler。它很容易使用 API,并且会为您提供更好的同步选项,例如:连接到 WiFi 时同步,或连接到充电器时同步等。