欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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();
}
相关标签: AsyncTask