OkHttp网络请求简单实现

需要用到的jar包:okhttp3.2.0.jar
链接:https://pan.baidu.com/s/1KYIaGnmYdLctjPjQsA5pYQ 提取码:6s5w

引入方式见上一篇文章:ZXing创建二维码简单实现

像网络请求这些耗时操作要放在子线程中,这里因为不进行太复杂的操作,所以我们直接new一个线程并启动:

new Thread(
    new Runnable(){
               @Override
            public void run() {
//待会儿在这里实现OkHttp请求
            }
}
).start();

在刚才的run()方法中,新建一个OkhttpClient对象,新建Request对象进行请求:

  OkHttpClient client=new OkHttpClient();
  Request request=new Request
                 .Builder()
                 .url("https://www.baidu.com")//要访问的链接
                 .build();

然后新建Call对象,把刚才创建的client和request都调动起来:

Call call=client.newCall(request);

最后通过调用call的enqueue()方法监听返回结果:

  call.enqueue(new okhttp3.Callback() {
                            @Override
                            public void onFailure(Call call, IOException e) {

                            }

                            @Override
                            public void onResponse(Call call, okhttp3.Response response) throws IOException {
                               String res=response.body().string();
                                Log.i("response===========>",res);
                            }
                        });

如果在打印日志中看到这个东东,那就说明你做对了


image.png

补充:OkHttp默认是GET请求方式,如果需要传递参数(POST请求)也很简单,加入如下代码即可:

FormBody.Builder builder=new FormBody.Builder();
 builder.add("name","ZhangSan");//要传递的参数,前面是键,后面是值

别忘了在Request后面添加post()方法:

  Request request=new Request
                 .Builder()
                 .url("https://www.baidu.com")//要访问的链接
                 .post(builder.build())//这是新添的代码
                 .build();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容