new Thread() {
public void run() {
getData();
};
}.start();
}
/**
* 獲取網絡數據
*/
private void getData() {
// 要訪問的服務器地址
String path = "http://172.20.81.59:8080/bwie/json/index.json";
try {
// 設置要訪問地址
URL url = new URL(path);
// 打開連接,得到HttpURLConnection對象
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
// 設置聯網超時
connection.setConnectTimeout(5000);
// 設置請求方式
connection.setRequestMethod("GET");
//連接
connection.connect();
// 得到響應碼
int responseCode = connection.getResponseCode();
// 如果響應碼是200,代表請求成功
if (responseCode == 200) {
// 得到輸入流,包含請求到的數據
InputStream inputStream = connection.getInputStream();
// 記錄每一行讀到的數據
String s = "";
// 追加流裏的數據
StringBuffer buffer = new StringBuffer();
// 讀出流裏的數據
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(inputStream));
// 只要不等於null,流裏就一直有數據,就要一直循環讀取
while ((s = bufferedReader.readLine()) != null) {
buffer.append(s);
}
String data = buffer.toString();
System.out.println(data);
// 解析數據
Gson gson = new Gson();
Bean bean = gson.fromJson(data, Bean.class);
// 子線程不能更新UI,通過handler發送到主線程
Message msg = Message.obtain();
msg.obj = bean;
handler.sendMessage(msg);