添加网络访问权限
<uses-permission android:name="android.permission.INTERNET"/>
package com.zdsoft.idfind0103;
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 android.widget.Toast;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
public class MainActivity extends AppCompatActivity {
private EditText et_content;
private Button bt_select;
private TextView tv_show;
private String result = "";
private String URL_BASE = "http://apis.baidu.com/apistore/idservice/id";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
bt_select.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 1) {
parseId(result);
}
}
};
new Thread() {
@Override
public void run() {
findId(et_content.getText().toString());
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
}.start();
}
});
}
private void initView() {
et_content = (EditText) findViewById(R.id.et_content);
bt_select = (Button) findViewById(R.id.bt_select);
tv_show = (TextView) findViewById(R.id.tv_show);
}
private void findId(String content) {
try {
URL url = new URL(URL_BASE + "?id=" + URLEncoder.encode(content, "UTF-8") + "");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
//添加请求头信息
connection.setRequestProperty("apikey", "你的ApiKey");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line = "";
StringBuffer sb = new StringBuffer();
while ((line = bufferedReader.readLine()) != null) {
sb.append(line);
}
result = sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
}
private void parseId(String json) {
try {
if (json != null) {
//解析JSON文件
JSONObject jsonObject = new JSONObject(json);
String retData = jsonObject.getString("retData");
JSONObject object = new JSONObject(retData);
String address = object.getString("address");
String sex = object.getString("sex");
String birthday = object.getString("birthday");
tv_show.setText("地址:" + address + "\n性别:" + sex + "\n生日:" + birthday);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}