zoukankan      html  css  js  c++  java
  • 网络通信框架之okHttp


    主页: https://github.com/square/okhttp


    特点:
    * 支持HTTP/2 和 SPDY
    * 默认支持 GZIP 降低传输内容的大小
    * 支持网络请求的缓存
    * 当网络出现问题时,自动重试一个主机的多个 IP 地址


    请求流程:


    配置: compile 'com.squareup.okhttp3:okhttp:3.2.0'


     使用示例代码:

    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            //1. 创建http客户端
            OkHttpClient okHttpClient = new OkHttpClient();
            //2. 创建请求
            Request request = new Request.Builder()
                    .get() //get请求
                    .url("http://www.baidu.com")
                    .build();
            //3. 发起请求
             //同步的请求,耗时操作不推荐使用
             // okHttpClient.newCall().execute();
            //异步请求
            okHttpClient.newCall(request).enqueue(new MyCallback());
        }
    
        private  class MyCallback implements Callback {
            //失败 ,回调方法在子线程中
            @Override
            public void onFailure(Call call, IOException e) {
                //            Toast.makeText(MainActivity.this,"网络请求失败",Toast.LENGTH_SHORT).show();
                showToastInAnyThread("网络请求失败");
            }
            //成功回调 ,回调方法在子线程中
            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String text = response.body().string();
                showToastInAnyThread(text);
            }
        }
    
        public void showToastInAnyThread(final String text){
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Toast.makeText(MainActivity.this,text,Toast.LENGTH_SHORT).show();
                }
            });
        }
    
    }
    
  • 相关阅读:
    Redis学习笔记
    sysctl命令修改内核参数
    Spring Boot学习笔记
    抽象和接口
    FTP主动模式与被动模式
    JVM参数调优
    JVM性能调优工具
    性能调优工具
    Feign Hystrix Tomcat参数配置
    Zuul学习笔记
  • 原文地址:https://www.cnblogs.com/loaderman/p/6445854.html
Copyright © 2011-2022 走看看