Http訪問百度API Store
阿新 • • 發佈:2019-01-09
新增網路訪問許可權
<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(); } } }