【问题标题】: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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-17
    • 2018-05-24
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 2012-04-24
    • 2018-07-16
    • 1970-01-01
    相关资源
    最近更新 更多