重复将数据上传到服务器

9 浏览
0 Comments

重复将数据上传到服务器

我需要反复将数据上传到服务器(比如每隔10分钟)。应用程序将在本地SQLite数据库中检查是否有未同步的数据,并将其上传。

如果我反复从处理程序中调用一个异步任务,即使应用程序被暂停(用户导航到另一个应用程序),它是否仍然有效?

如何使用服务来实现这一点(因为服务可以在后台运行)?我应该使用服务还是IntentService?

0
0 Comments

问题的出现原因是,当调用AsyncTaskonPostExecute()方法更新UI时,如果应用程序已经被销毁,将会导致应用程序崩溃。然而,处理程序仍然会继续运行。但是,JVM进程可能随时被终止。AsyncTask只应该用于持续几秒的短任务。

解决方法是使用Service来更新服务器。Service不依赖于活动,如果应用程序被销毁,Service可以继续存在。这是更新服务器的合适位置。

关于ScheduledExecutorService,我对此不太熟悉。

0
0 Comments

问题:如何在应用暂停时(用户导航到另一个应用程序)重复调用AsyncTask并将数据上传到服务器?

当应用程序暂停时,调用Handler中的AsyncTask是否有效?

这个问题中,有人问到当Android杀死一个应用程序时,一个函数是否会被中止一半。回答中提到,AsyncTask可能会继续运行,但可能不完全正常。

那么如何使用Service来实现这个功能呢?应该使用Service还是IntentService?

这个问题中,有人问到IntentService和Service之间的区别。回答中提到,IntentService是Service的一个子类,可以在后台运行。

基于以上信息,我认为使用Service来实现这个功能可能更好(但我不是很确定)。

如果我们想要在应用暂停时重复调用AsyncTask并将数据上传到服务器,可以考虑使用Service来实现。

0