我有我的主類中的代碼:的AsyncTask機器人 - 爲ExecutionException錯誤
public class vurlDownloader extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... params) {
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet("http://url/video.html");
HttpResponse response = null;
try {
response = httpClient.execute(httpGet, localContext);
} catch (IOException e) {
e.printStackTrace();
}
String result = "";
BufferedReader reader = null;
try {
reader = new BufferedReader(
new InputStreamReader(
response.getEntity().getContent()
)
);
} catch (IOException e) {
e.printStackTrace();
}
String line = null;
try {
while ((line = reader.readLine()) != null){
result += line + "\n";
}
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
}
public String loadVurl(){
String output = new vurlDownloader().execute().get();
return output;
}
,並在此行
String output = new vurlDownloader().execute().get();
Android的工作室給我奇怪的引用(紅色下劃線): 未處理的異常: java.lang.InterruptedException, java.util.concurrent.Execution.Exception
我不太明白這一點,因爲我有類似於這裏的情況:How to get a string back from AsyncTask?和這個人的作品。
問候!
您能否提供更詳盡的堆棧跟蹤以查看其失敗的位置?另外,「Void」可能被認爲是一種類型,而你可能是指「無效」,我不確定AsyncTask支持。 – Vince
使用onPostExecute(),而不是get(); – Skynet
**從不**使用'.get()' - 它使asynctask完全無用 – zapl