Android开发-使用Okhttp发送请求并解析服务器返回的数据

使用okhttp向服务器发送请求

首先添加依赖
目前最新版本3.14.1,github地址

    implementation 'com.squareup.okhttp3:okhttp:3.14.1'

向服务器发送GET请求并获取服务器返回的数据

OkHttpClient client = new OkHttpClient.Builder()   //创建okhttp实例
                            .connectTimeout(5, TimeUnit.SECONDS)  //设置请求超时
                            .readTimeout(5,TimeUnit.SECONDS).build();
                    Request request = new Request.Builder() 
                            .url("http://10.0.2.2/YunShares-user_id.json")
                            .build();
                    Response response = client.newCall(request).execute(); //获取服务器返回的数据
                    String responseData = response.body().string();
                    sloveJSON(responseData);  //处理返回的数据

在sloveJSON()方法中对服务器返回的数据进行解析,使用JSONObject

JSONArray jsonArray = new JSONArray(responseData); //将数据传入一个JSONArray对象中
for(int i=0;i<jsonArray.length();i++){  //遍历这个JSONArray对象
                JSONObject jsonObject = jsonArray.getJSONObject(i); 
                String data1 = jsonObject.getString("data1");
                String data2 = jsonObject.getString("data2");
                ......
}

完成简单的使用Okhttp发送请求和解析JSON数据

PS:使用Okhttp发送POST请求,在建修改上面Request

RequestBody requestBody = new FormBody.Builder()  //先构建一个RequestBody对象来存放待提交的数据
		.add("data1","test1")
		.add("data2","test2")
		.build();
Request request = new Request.Builder()
		.url(".......")
		.post(requestBody)
		.build();

最后附上其他博主写的Okhttp更详细的用法:https://blog.csdn.net/u013651026/article/details/79738059

你可能感兴趣的:(Android)