/**
* 获取服务器图片路径
*/
public void getinfo() {
new Thread(){
public void run() {
try {
URL url=new URL(constants.GUIDEIMG);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
//设置必要的参数信息
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
//判断响应码
int resultCode=conn.getResponseCode();
if(resultCode==200){
InputStream in=conn.getInputStream();
String result=StreamUtils.readStream(in);
//解析json格式的数据
JSONObject jsonobj=new JSONObject(result);
JSONArray array=jsonobj.getJSONArray("requestContent");
// for(int i=0;i<array.length();i++){
// pics.add(array.getString(i));
// }
Message msg=Message.obtain();
msg.obj=array;
msg.what=SUCCESS;
mhandler.sendMessage(msg);
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
你是通过调用这个方法再想调用这个线程的吧,不出意外的话你匿名的调用方式在外面是不起作用的,估计ide直接优化就没编译。你需要使用的话直接new Thread(){。。。}在你需要线程运行的activity里,不然就通过内部类继承的方式
匿名调用线程只在内部有效,且只调用一次
说错了,这个应该是可以的,具体的在你调用getinfo()的地方设置断点(下一步断点的时候f10,进入函数内部),然后内部设置一个看看,第一看是不是有跑进你的函数