Android 我应该使用什么将数据库服务器同步到本地?IntentService或异步任务

Android 我应该使用什么将数据库服务器同步到本地?IntentService或异步任务,android,android-asynctask,android-intentservice,Android,Android Asynctask,Android Intentservice,我正在创建需要脱机工作的应用程序。所以我需要在服务器数据库和本地数据库之间进行同步。我已经编写了使用AsyncTask在服务器和本地之间进行同步的脚本,但有时它无法立即延迟执行脚本,并且我不确定应用程序关闭后是否可以执行AsyncTask 任务: 用户向服务器请求新数据->服务器以JSON格式提供新数据,并向其他手机发送firebase推送通知,以执行同步->异步任务/IntentService处理用户手机插入/更新中的数据 我什么时候需要执行任务 每次我按下保存按钮。 当用户收到类型为sync

我正在创建需要脱机工作的应用程序。所以我需要在服务器数据库和本地数据库之间进行同步。我已经编写了使用AsyncTask在服务器和本地之间进行同步的脚本,但有时它无法立即延迟执行脚本,并且我不确定应用程序关闭后是否可以执行AsyncTask

任务:

用户向服务器请求新数据->服务器以JSON格式提供新数据,并向其他手机发送firebase推送通知,以执行同步->异步任务/IntentService处理用户手机插入/更新中的数据

我什么时候需要执行任务

每次我按下保存按钮。 当用户收到类型为sync的firebase推送通知时,我已经编写了此脚本。无论应用程序是关闭的还是打开的,脚本都需要运行,如果不单击通知,则通知是不可访问的,只是信息同步任务正在运行 所以我的问题是,我应该为此使用AsynTask还是IntentService


**任何关于通过改造与IntentService同步的教程对我都会有很大帮助。

在IntentService和AsyncTask之外,IntentService更适合于此目的。AsyncTask不能独立运行,需要从活动或服务启动。此外,在这种情况下,您确实需要在任务完成时更改UI,因此AsyncTask是不可能的


对于数据同步,您还可以查看/JobScheduler。它很好地使用了API,并将为您提供更好的同步选项,如:连接到WiFi时同步,或连接到充电器时同步等。

我更喜欢WorkManager/JobScheduler