Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.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 异步线程-与UI进行数据交换_Java_Android_Multithreading - Fatal编程技术网

Java 异步线程-与UI进行数据交换

Java 异步线程-与UI进行数据交换,java,android,multithreading,Java,Android,Multithreading,在我的应用程序中,我必须从服务器下载数据。我将请求放在一个异步线程中。如何在主UI中使用数据(=字符串) 平台是Android,编程语言是Java 1.6。假设您实际使用的是异步任务,而不是异步线程(不管是什么) 在异步任务的部分中,选择“4个步骤”: onPreExecute(),在执行任务之前在UI线程上调用。此步骤通常用于设置任务,例如在用户界面中显示进度条 doInBackground(Params…),在onPreExecute()完成执行后立即在后台线程上调用。此步骤用于执行可能需要

在我的应用程序中,我必须从服务器下载数据。我将请求放在一个异步线程中。如何在主UI中使用数据(=字符串)


平台是Android,编程语言是Java 1.6。

假设您实际使用的是
异步任务,而不是异步线程(不管是什么)

异步任务的
部分中,选择“4个步骤”:

  • onPreExecute(),在执行任务之前在UI线程上调用。此步骤通常用于设置任务,例如在用户界面中显示进度条
  • doInBackground(Params…),在onPreExecute()完成执行后立即在后台线程上调用。此步骤用于执行可能需要很长时间的背景计算。异步任务的参数被传递到此步骤。此步骤必须返回计算结果,并将返回到最后一步。此步骤还可以使用publishProgress(进度…)发布一个或多个进度单元。这些值在UI线程的onProgressUpdate(Progress…)步骤中发布
  • onProgressUpdate(Progress…),在调用publishProgress(Progress…)后在UI线程上调用。执行的时间未定义。此方法用于在后台计算仍在执行时在用户界面中显示任何形式的进度。例如,它可以用于制作进度条动画或在文本字段中显示日志
  • onPostExecute(Result),在后台计算完成后在UI线程上调用。背景计算的结果作为参数传递到此步骤
  • 你似乎在寻找第四种方法。如上所述:
    onPostExecute
    将在UI线程中调用,结果作为参数(类型设置为任务的通用参数)