• 每日总结-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/

  • 相关阅读:
    类特性:多态
    类特性:继承
    类,对象入门
    cf round599 CDE
    cf round#598 CDEF
    高精度小数BigDecimal+二分——java
    点分治
    java——IO(普通文件,二进制文件,压缩文件 )
    JCF——Map
    JCF——set
  • 原文地址:https://www.cnblogs.com/guofoo/p/11406037.html
Copyright © 2020-2023  润新知