Android——使用网络技术之解析JSON

    TextView responseText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button sendRequest = findViewById(R.id.send_request);
        responseText= findViewById(R.id.response_text);
        sendRequest.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        if (v.getId()==R.id.send_request){
            sendRequestWithOkHttp();
        }
    }
    private void sendRequestWithOkHttp(){
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                   OkHttpClient client = new OkHttpClient();
                   Request request = new Request.Builder()
                           .url("http://10.0.2.2/get_data.json")
                           .build();
                   Response response = client.newCall(request).execute();
                   String responseData = response.body().string();
                   parseJSONWithJSONObject(responseData);
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }).start();
    }
    private void parseJSONWithJSONObject(String jsondata){
        try {
            JSONArray jsonArray = new JSONArray(jsondata);
            for (int i = 0;i<jsonArray.length();i++){
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                String id = jsonObject.getString("id");
                String name = jsonObject.getString("name");
                String version = jsonObject.getString("version");
                Log.d("MainActivity","id is"+ id);
                Log.d("MainActivity","name is"+ name);
                Log.d("MainActivity","version is"+ version);

            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }


猜你喜欢

转载自blog.csdn.net/castanea/article/details/80457049