http://blog.csdn.net/sazhaoxun_csdn/article/details/6984094
问题1: HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest); 报android.os.NetworkOnMainThreadException异常
原因:android3以后主线程不可访问网络
解决1:强制在主线程访问网络
在
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
后,添加代码:
//为了解决网络异常
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork() // or .detectAll() for all detectable problems
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.penaltyLog()
.penaltyDeath()
.build());
解决2:另开线程
new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
myButton.setOnClickListener(new showButton());
super.run();
}
}.start(); //试了不行。不知道哪里不对????????????
问题2: HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest); 报org.apache.http.conn.HttpHostConnectException: Connection refused异常
解决:jsp路径不对。localhost/127.0.0.1均指模拟器本身。改成实际IP就可以了。
浙公网安备 33010602011771号