OkHttp3的简单封装

来源:互联网 发布:js 设置div class 编辑:程序博客网 时间:2024/05/18 01:25

OkHttp3的简单封装

代码如其标题,真的是简单封装…..

这是以前写的代码,如果有用得到的,拿去不谢.
现在我觉得用RxJava和OkHttp3配合比较爽,不用像下面这么麻烦….

    /**     * Created by xfhy on 2017年6月15日11:07:50     * 网络工具类     */    public class HttpUtils {        /**         * 获取Okhttp客户端         * 用于管理所有的请求,内部支持并发,所以我们不必每次请求都创建一个 OkHttpClient         * 对象,这是非常耗费资源的         */        public static OkHttpClient okHttpClient = null;        /**         * 初始化OkHttpClient         */        public static void initOkHttp() {            if (okHttpClient == null) {                okHttpClient = new OkHttpClient();            }        }        /**         * 网络连接是否正常         *         * @return true:有网络    false:无网络         */        public static boolean isNetworkConnected(Context context) {            if (context != null) {                ConnectivityManager mConnectivityManager = (ConnectivityManager) context                        .getSystemService(Context.CONNECTIVITY_SERVICE);                NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();                if (mNetworkInfo != null) {                    return mNetworkInfo.isAvailable();                }            }            return false;        }        /**         * get方式访问网络         *         * @param url      要访问的url         * @param from     由谁发起的调用,用于区别调用者         * @param listener 访问网络的接口回调         */        public static void requestGet(final String url, final int from, final HttpCallbackListener                listener) {            //1, 开一个子线程请求网络数据            new Thread(new Runnable() {                @Override                public void run() {                    //2, 创建请求                    Request request = new Request.Builder().url(url).build();                    try {                        //3, 发送请求                        Response response = HttpUtils.okHttpClient.newCall(request).execute();                        //4, 请求成功                        if (response.isSuccessful()) {                            if (listener != null) {                                //回调成功的接口                                listener.onFinish(from, response.body().string());                            }                        }                    } catch (IOException e) {                        e.printStackTrace();                        if (listener != null) {                            //回调失败的接口                            listener.onError(e);                        }                    }                }            }).start();        }    }