zoukankan      html  css  js  c++  java
  • okhttp使用

    okhttp是一种新的网络请求框架,对网络强求做了优化。

    同步调用:

        public static String getStringByUrl(String url){
            try {
                initClient();
                Request request = new Request.Builder()
                        .url(url)
                        .build();
                Response response = client.newCall(request).execute();
                String result = response.body().string();
                return result;
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
        private void okhttpTest(){
            new Thread(new Runnable() {
                @Override
                public void run() {
                    final String url = "http://www.baidu.com";
                    final String result = OkhttpUtils.getStringByUrl(url);
                    new Handler(Looper.getMainLooper()).post(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            }).start();
        }

    异步调用:

        private void okhttpTest3(final Context context){
            final String url = "https://www.baidu.com";
            Request request = new Request.Builder()
                    .url(url)
                    .build();
            OkHttpClient client = new OkHttpClient();
            Call call = client.newCall(request);
            call.enqueue(new Callback() {
                @Override
                public void onFailure(Request request, IOException e) {
                    new Handler(Looper.getMainLooper()).post(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(context, "Fail!", Toast.LENGTH_SHORT).show();
                        }
                    });
                }
                @Override
                public void onResponse(Response response) throws IOException {
                    final String result = response.body().string();
                    new Handler(Looper.getMainLooper()).post(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(context, result, Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            });
        }
  • 相关阅读:
    面向对象案例
    0429面向对象3.0
    Linux系统常用命令以及常见问题的解决方法
    VS2010查看源码对应的汇编语言
    【学习笔记】python
    Linux环境配置错误记录
    【学习笔记】TensorFlow
    git基本操作
    位操作的个人总结
    Java字符串拼接
  • 原文地址:https://www.cnblogs.com/MiniHouse/p/7100418.html
Copyright © 2011-2022 走看看