我想從我的android手機發送圖片到我的本地web服務器。一旦它連接到Web服務器,我得到以下內容:android.os.NetworkOnMainThreadException如何避免android.os.NetworkOnMainThreadException
我認爲我的問題的解決方案是使該方法異步。這是我不熟悉的。
所以我的問題是: 我怎樣才能使以下方法異步?
public class Send {
public Send(){
}
public static String send(String path) throws Exception {
String filePath = path;
String svar;
HttpClient httpclient = new DefaultHttpClient();
try {
HttpPost httppost = new HttpPost("path to web server");
FileBody pic = new FileBody(new File(filePath));
MultipartEntity requestEntity = new MultipartEntity();
requestEntity.addPart("file", pic);
httppost.setEntity(requestEntity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity responseEntity = response.getEntity();
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
response.getEntity().writeTo(outstream);
byte [] responseBody = outstream.toByteArray();
svar = new String(responseBody);
System.out.println(svar);
} finally {
try {
httpclient.getConnectionManager().shutdown();
}
catch (Exception ignore) {
}
}
return svar;
}
}
只需輕點'android.os.NetworkOnMainThreadException'在谷歌,你將不得不使用大量的實例的' AsyncTask' –