<android.support.constraint.ConstraintLayout xmlns:android=“http://schemas.android.com/apk/res/android”
xmlns:app=“http://schemas.android.com/apk/res-auto”
xmlns:tools=“http://schemas.android.com/tools”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
tools:context=".MainActivity">
<EditText
android:id="@+id/ed"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:hint="请输入您的手机号"
app:layout_constraintRight_toLeftOf="@id/btn"
app:layout_constraintLeft_toLeftOf="parent"
/>
<Button
android:id="@+id/btn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="查询"
app:layout_constraintRight_toRightOf="parent"
/>
<TextView
android:id="@+id/tv"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/btn"
app:layout_constraintBottom_toBottomOf="parent"
android:text="十年后尽快"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
/>
</android.support.constraint.ConstraintLayout>
页面的布局
package com.example.day02;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class MainActivity extends AppCompatActivity {
private TextView tv;
private Button btn;
private EditText ed;
private final int UPDATE_PHONE_INFO=0;
private final int GET_PHONE_INFO_ERROE=1;
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case UPDATE_PHONE_INFO:
tv.setText((String) msg.obj);
break;
case GET_PHONE_INFO_ERROE:
tv.setText((String) msg.obj);
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = findViewById(R.id.tv);
btn=findViewById(R.id.btn);
ed=findViewById(R.id.ed);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
requestData(ed.getText().toString());
}
}).start();
}
});
}
private String apiUrl="https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=";
private void requestData(String s) {
try {
//请求地址
URL url = new URL(apiUrl + s);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//请求方法
urlConnection.setRequestMethod("GET");
//设置超时时间
urlConnection.setConnectTimeout(5000);
//设置读取时间
urlConnection.setReadTimeout(5000);
//返回的状态码
int responseCode = urlConnection.getResponseCode();
if (responseCode==200){
//获取结果
String result=stream2String(urlConnection.getInputStream(),"gbk");
//展示......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Message message = handler.obtainMessage(UPDATE_PHONE_INFO, result);
handler.sendMessage(message);
}else{
handler.sendMessage(handler.obtainMessage(GET_PHONE_INFO_ERROE,"请求错误"+responseCode));
}
urlConnection.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private String stream2String(InputStream inputStream, String gbk) throws IOException {
StringBuilder stringBuilder = new StringBuilder();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,gbk);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
for (String tmp=bufferedReader.readLine();tmp!=null;tmp=bufferedReader.readLine()){
stringBuilder.append(tmp);
}
return stringBuilder.toString();
}
}