Java 在Android中定期执行异步任务的最佳方法

Java 在Android中定期执行异步任务的最佳方法,java,android,Java,Android,我正在使用AsyncTask从服务器获取数据。我需要定期更新数据 最好的方法是什么?您可以根据需要在onProgressUpdate()或onPostExecute()上执行 onProgressUpdate(Progress…,在调用publishProgress(Progress…)后在UI线程上调用。执行的时间未定义。此方法用于在后台计算仍在执行时在用户界面中显示任何形式的进度。例如,它可以用于制作进度条动画或在文本字段中显示日志 onPostExecute(Result),后台计算完成后

我正在使用
AsyncTask
从服务器获取数据。我需要定期更新数据


最好的方法是什么?

您可以根据需要在
onProgressUpdate()
onPostExecute()
上执行

onProgressUpdate(Progress…
,在调用publishProgress(Progress…)后在UI线程上调用。执行的时间未定义。此方法用于在后台计算仍在执行时在用户界面中显示任何形式的进度。例如,它可以用于制作进度条动画或在文本字段中显示日志

onPostExecute(Result)
,后台计算完成后在UI线程上调用。背景计算的结果作为参数传递到此步骤


AlarmReceiver
类中设置报警并调用
异步任务。

您可以使用Timer类使用TimerTask而不是AsyncTask来计划周期性任务

见:

要更新用户界面,您应该遵循以下良好教程:


仅说明其中一种可能性。你也可以使用class。一般来说,它比TimerTask有更多的可能性。

要详细说明用户的响应,您确实可以”


我在链接帖子中提出的担忧仍然存在:我不知道从WakefulBroadcastReceiver实例化AsyncTask是否存在任何生命周期问题,也就是说,我不知道上述解决方案是否会导致MyAsyncTask过早终止。

您好,Macarse,答案是Thanx。但是你能告诉我如何调用我的AsyncTask类吗?它是我活动的一个内部类。它应该被定义为
公共静态类
,并用:
(new YourActivity.YourAsyncTask()).execute()调用它