每日总结-Day6-Android开发-利用OkHTTP与服务器通信

OkHTTP

OkHTTP是一种Android网络框架,由移动支付Square公司贡献,用于替代HttpUrlConnection和Apache HttpClient(android API23 6.0里已移除HttpClient)。

在Android中通过OkHTTP与服务器端通信。



一、引入架包

Android Studio下在File->Project Structure中引入架包

搜索okhttp并添加如下版本

二、配置权限

在AndroidManifest中添加网络访问权限

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

三、发起Get请求

发起Get请求共分为四步操作

  1. 创建OkHttpClient对象
  2. 创建Request对象
  3. 将Request封装为Call
  4. 请求加入调度
 //requestUrl为请求的地址
public void getRequest(String requestUrl) {
    try {
        //得到OkHttpClient对象
        OkHttpClient mOkHttpClient = new OkHttpClient();
        //构造Request对象
        Request.Builder builder = new Request.Builder();
        Request request = builder.get().url(requestUrl).build();
        //将Request封装为Call
        Call mCall = mOkHttpClient.newCall(request);
        Log.d("outout", "start");
        //开始执行Call
        //Response mResponse= mCall.execute();//同步方法
        mCall.enqueue(new Callback() {//异步执行方法
            @Override
            public void onFailure(Call call, IOException e) {
                //请求失败
                Log.d("outout", "请求失败");
            }
            @Override
            public void onResponse(Call call, Response response) throws IOException {
                //请求成功
                Log.d("outout", "请求成功");
                String result = response.body().string();
                Log.d("outout", result);

               //这里建议使用GSON控件来将Json格式转换为Bean对象储存
            }
        });
    } catch (Exception e) {
		e.printStackTrace();
    }
}

四、其他

处理Get请求,OkHttp还支持Post请求和文件传输等功能。

参考链接

https://lil-xing.top/

原文地址:https://www.cnblogs.com/guofoo/p/11406037.html