【问题标题】:What to use when loop inside a background thread and keep updating UI?在后台线程内循环并不断更新 UI 时使用什么?
【发布时间】:2019-08-19 08:49:26
【问题描述】:
我正在设计一个应用程序,它会在 t 秒后继续向服务器发送 JSON 数据,并在收到来自该服务器的响应时更新 Web 视图(发送成功后)。我希望这个后台工作永远运行,直到我退出应用程序。我应该在异步任务中使用循环吗?
我在 android 主页中读到 Async Task 应该用作一次性作业。
【问题讨论】:
标签:
android
android-asynctask
handler
android-broadcastreceiver
ui-thread
【解决方案1】:
使用 Runnable 和 Handler Class 来执行延迟后的函数
Handler handler = new Handler();
final int delay = 5000; //milliseconds
Runnable r=new Runnable(){
public void run(){
//Execute your asynctask here
}
};
handler.postDelayed(r, delay);
并在 Asynctask 的 onPostExecute 中更新 UI