方法一、在网络访问中增加代码(红色部分)
调用前 @TargetApi(Build.VERSION_CODES.GINGERBREAD) @SuppressLint("NewApi")
http前
StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
@TargetApi(Build.VERSION_CODES.GINGERBREAD)
@SuppressLint("NewApi")
public void SendGetRequest(){
try {
StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
HttpURLConnection connection = null;
URL url = new URL(GetUrl);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
InputStream is = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = br.readLine())!=null){
sb.append(line);
}
result=sb.toString();
//handler.sendEmptyMessage(0x001); 向线程发送消息 方法2
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
方法二、新开线程:
//线程
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 0x001:
TextViewTxt.setText("结果显示:\n" + result);
break;
case 0x002:
TextViewTxt.setText("结果显示:\n" + result);
break;
}
}
};
//绑定
Button1.setOnClickListener(this);
activity 》》 implements View.OnClickListener
//New 线程并调用
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
new Thread() {
@Override
public void run() {
//TextViewTxt.setText("点了");
SendGetRequest();
}
}.start();
break;
}
}