最近在写一个APP,但部分代码能在模拟器上运行,却不能在真机上运行,直接抛出异常,而且是个十分简单的代码。代码如下:
Runnable updateThread = new Runnable(){
//将要执行的操作写在线程对象的run方法当中
public void run(){
try{
byte[] bytes1 = Autils.download(url);
System.out.println("--0--");
String json1 = new String (bytes1,"utf-8");//这行代码在真机上直接异常
System.out.println("--1--");
JSONObject obj1 = new JSONObject(json1);
JSONArray array1 = obj1.getJSONArray("asd0");
if (JSON.parseArray(array1.toString(),navi_hp_info.class)!=null){
data.clear();
data.addAll(JSON.parseArray(array1.toString(),navi_hp_info.class));
}else{
data.addAll(JSON.parseArray(array1.toString(),navi_hp_info.class));
}
handler.obtainMessage(1, data).sendToTarget();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
handler.obtainMessage(2, data).sendToTarget();
}
handler.postDelayed(updateThread, 1000);
}
};
明明很简单很正常的一句代码为什么会错呢?