网络访问不能在主线程中,要新建一个子线程,重写run()方法。
如:
//启动子线程异步加载数据
new Thread(){
@Override
public void run() {
try {
//本机地址用localhost,但是如果用模拟器加载本机的地址时,可以用ip(10.0.2.2)来替换
URL url = new URL("http://10.0.2.2:8080/update.json");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000); //设定链接超时为5s
conn.setReadTimeout(5000); //设定读取超时为5s
conn.setRequestMethod("GET"); //设置请求方法
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();