我正在涉及連接到服務器的Android應用程序。即使在新線程中創建套接字(並使用異步任務),我也一直在獲取networkonmainthreadexceptions。 套接字從正常的java程序正常工作,IP在本地網絡上,並且ping工作正常。 電話是承上啓下的星系,Android版本4.0.2從非主線程Android網絡mainmainthreadexception
package uk.ac.cam.echo.app;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import android.os.AsyncTask;
public class DBTask extends AsyncTask<Void,Void,Void>{
protected Void doInBackground(Void... params) {
try {
Socket s = new Socket("192.168.15.98",44444);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
分享異步任務代碼 – Blackbelt 2012-02-29 15:22:44
如何調用'doInBackground'?聽起來你仍然從主應用程序線程調用它。例如'task = new DBTask(); task.doInBackground();'。 – 2012-02-29 15:34:58