我理解你的问题的方式你不确定如何实现,AsyncTask
因为你不需要将值传递给它。您需要的所有变量和数据都包含在代码中,这些代码将与您的服务器执行事务以下载您打算显示的任何内容。
公共类 getWSDL2 扩展 AsyncTask {
protected Void doInBackground(Void... params) {
//All I/O code here
}
protected Void onPostExecute(){
//Anything that needs to run on the UI thread here
}
}
AsyncTask
上面列出了的一般结构。该doInBackground
方法必须包含任何 I/O 函数,而您所做的任何事情都涉及视图,即显示您的查询结果保存在数组列表中,必须从onPostExecute
运行在 UI 线程上的 调用。
从我收集到的解决方案很简单。将服务器事务所需的所有代码放入doInBackground
方法中。如果您需要在视图中显示该事务的结果,只需添加一个返回语句doInBackground
并包括您将在为AsyncTask
. 例如,如果您要显示方法中ArrayList
生成的结果doInBackground
公共类 getWSDL2 扩展 AsyncTask {
protected ArrayList<String> doInBackground(Void... params) {
//All I/O code here
return nameOfArrayListYouBuild
}
protected Void onPostExecute(ArrayList<String> whatever){
//use ArraList whatever to display your stuff
}
}
或者,如果您不需要在 UI 线程上显示任何内容或运行任何功能,则根本不要使用该onPostExecute
方法。
公共类 getWSDL2 扩展 AsyncTask {
protected Void doInBackground(Void... params) {
//All I/O code here
return null
}
}
您可以构建您的任务,以便它只使用doInBackground