AsyncTask网络请求获取电话号码信息
程序员文章站
2022-04-25 15:54:31
...
private EditText editText;
private Button button;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
button = findViewById(R.id.button);
textView = findViewById(R.id.textView);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getInfo(editText.getText().toString());
}
});
}
private String path="https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=";
public void getInfo(final String photoNum){
@SuppressLint("StaticFieldLeak") AsyncTask<String,Void,String> asyncTask=new AsyncTask<String,Void,String>() {
@Override
protected String doInBackground(String... strings) {
try {
URL url=new URL(strings[0]+photoNum);
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
int responseCode = connection.getResponseCode();
if(responseCode==200){
InputStream inputStream = connection.getInputStream();
String stream = stream(inputStream,"jbk");
return stream;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
textView.setText(s);
}
}.execute(path);
}
public String stream(InputStream is,String bm) throws IOException {
StringBuilder builder=new StringBuilder();
InputStreamReader isr=new InputStreamReader(is,bm);
BufferedReader br=new BufferedReader(isr);
for (String tem=br.readLine();tem!=null;tem=br.readLine()) {
builder.append(tem);
}
return builder.toString();
}
上一篇: js 数组相关内容