Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中循环异步任务-好方法是什么?_Java_Android_Multithreading_Android Asynctask - Fatal编程技术网

Java 在Android中循环异步任务-好方法是什么?

Java 在Android中循环异步任务-好方法是什么?,java,android,multithreading,android-asynctask,Java,Android,Multithreading,Android Asynctask,我想每隔几分钟将数据从Web服务器解析到我的android设备。 我已经实现了一个AsyncTask,它正在更新OnPostExecute()方法中的UI 我没有找到一个好方法来重复这项任务。我尝试了处理程序、线程和ExecutorServices…在数据更新后,我没有设法使Asynctask重复。关于这个主题有数百条线索,每一条都有不同的结果 在我的处理程序尝试重新启动runnable后,我的源返回了一些非法状态异常 12-15 21:15:36.909: E/AndroidRuntime(2

我想每隔几分钟将数据从Web服务器解析到我的android设备。 我已经实现了一个AsyncTask,它正在更新OnPostExecute()方法中的UI

我没有找到一个好方法来重复这项任务。我尝试了处理程序、线程和ExecutorServices…在数据更新后,我没有设法使Asynctask重复。关于这个主题有数百条线索,每一条都有不同的结果

在我的处理程序尝试重新启动runnable后,我的源返回了一些非法状态异常

12-15 21:15:36.909: E/AndroidRuntime(28256): java.lang.IllegalStateException: Cannot execute task: the task has already been executed (a task can be executed only once)
源(onCreate()…):


如何在不阻塞UI和不编写脏代码的情况下重复任务?

AsyncTask实例只能调用一次。要进行第二次调用,您需要创建一个新实例。

有一种方法,您实际上需要一个异步任务

doInBackground(...){
    while(Condition){
        //do your stuff
        //...

        Thread.sleep(5000)
    }

}

非常感谢,它正在工作。将在接下来的几分钟内接受。
doInBackground(...){
    while(Condition){
        //do your stuff
        //...

        Thread.sleep(5000)
    }

}