private TextView info;
@SuppressLint(“StaticFieldLeak”) @Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_at);
info = findViewById(R.id.info);
findViewById(R.id.query).setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
requestData();
}
});
//requestData();
}
private String baseUrlStr = “https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=18679906337”;
private void requestData() {
@SuppressLint(“StaticFieldLeak”) AsyncTask<String, Void, String> asyncTask = new AsyncTask<String, Void, String>() {
//子线程
@Override protected String doInBackground(String… strings) {
Log.i(“TEST”, "doInBackground " + Thread.currentThread().getName());
//执行一个请求
//需要一个String的URL
try {
URL url = new URL(strings[0]);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
int responseCode = urlConnection.getResponseCode();
if(responseCode == 200) {
String result = stream2String(urlConnection.getInputStream());
//返回请求回来的手机号信息
return result;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override protected void onPostExecute(String s) {
Log.i("TEST", "onPostExecute " + Thread.currentThread().getName());
info.setText(s);
}
};
asyncTask.execute(baseUrlStr, "");
}
//将字节流转换成字符
private String stream2String(InputStream is) throws IOException {
InputStreamReader isr = new InputStreamReader(is, “gbk”);
BufferedReader br = new BufferedReader(isr);
StringBuilder stringBuilder = new StringBuilder();
for (String tmp = br.readLine(); tmp != null; tmp = br.readLine()) {
stringBuilder.append(tmp);
}
return stringBuilder.toString();
}