调试了好久,才发现是因为Http请求写在了主线程里,在4.0之后在主线程里面执行Http请求都会报这个错,大概是怕Http请求时间太长造成程序假死的情况吧。
//于是我改写了函数,在函数里面创建了线程调用网络请求,但函数return值返回是空的,估计是线程还未执行完就返回了,我是一名android初学者,想请教一下各位,怎样改写下面这个函数,我想在程序其它地方直接调用 GetJSonData(),就得到我想要的返回结果。
public String GetJSonData() { String responseJSON = ""; new Thread(new Runnable() { @Override public void run() { responseJSON = TO DO http request. } }).start(); return responseJSON; }