XML中的代码:
<EditText
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="0dp"
android:text="获取"
tools:layout_editor_absoluteX="296dp"
tools:layout_editor_absoluteY="0dp" />
<TextView
android:id="@+id/textview"
android:layout_below="@id/text"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
Activity中的代码:
private final int UPDATE_UI=1;
private String lujing="https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=";
private EditText text;
private TextView textview;
private Button button;
@SuppressLint("HandlerLeak")
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case UPDATE_UI:
textview.setText(msg.obj.toString());
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取资源ID
text=findViewById(R.id.text);
textview=findViewById(R.id.textview);
button=findViewById(R.id.button);
//点击获取
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//开启子线程
new Thread(
new Runnable() {
@Override
public void run() {
huo(text.getText().toString());
}
}
).start();
}
});
}
public void huo(String num){
try {
//定义URL地址
URL url=new URL(lujing+num);
//打开连接
HttpURLConnection urlConnection= (HttpURLConnection) url.openConnection();
//设置请求方法
urlConnection.setRequestMethod("GET");
//超时设置
//读取超时
urlConnection.setReadTimeout(5000);
//连接超时
urlConnection.setConnectTimeout(5000);
//连接并获取状态码
int responseCode = urlConnection.getResponseCode();
if (responseCode==200){
//j读取字节流转换成字符串结果
String jieguo=zifu(urlConnection.getInputStream());
//操作子线程
Message message=handler.obtainMessage(UPDATE_UI,jieguo);
handler.sendMessage(message);
}else{
Message message=handler.obtainMessage(UPDATE_UI,"error"+responseCode);
handler.sendMessage(message);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//字节流转换成字符流
public String zifu(InputStream zijie) throws IOException {
InputStreamReader inputStreamReader=new InputStreamReader(zijie,"gbk");
BufferedReader buff=new BufferedReader(inputStreamReader);
StringBuilder ss=new StringBuilder();
for (String tmp=buff.readLine();tmp!=null;tmp=buff.readLine()){
ss.append(tmp);
}
return ss.toString();
}