网络框架之OkHttp

今天看了几篇关于OkHttp网络框架的博客,并且自己写了Demo将博客中的代码应用了进去,和大家一起分享一下:

大家也可以借鉴以下两位博主的博客:

  • http://blog.csdn.net/u010046908/article/details/50614615
  • http://blog.csdn.net/lmj623565791/article/details/47911083

    核心工具类:OkHttpUtils.class

    辅助工具类:JsonUtils.class

    快速Json解析库Gson

    发起一个Get请求:

    private void loadDataOfGet() {

    OkHttpUtils.get("https://www.baidu.com/", new OkHttpUtils.ResultCallback<String>() {
                    @Override
                    public void onSuccess(String response) {
                        Log.d("---onSuccess--->", "----response--->" + response.toString());
                    }
    
                    @Override
                    public void onFailure(Exception e) {
    
                    }
                });        
    

    }

    发起一个Post请求:

    private void loadDataOfPost() {

            List<OkHttpUtils.Param> list = new ArrayList<>();
                list.add(new OkHttpUtils.Param("column", "1"));
                list.add(new OkHttpUtils.Param("PageSize", "10"));
                list.add(new OkHttpUtils.Param("pageIndex", "1"));
                OkHttpUtils.post("http://litchiapi.jstv.com/api/GetFeeds", new OkHttpUtils.ResultCallback<NewsBean>() {
                    @Override
                    public void onSuccess(NewsBean response) {
                    if (response != null) {
                        String status = response.getStatus();
                            if (TextUtils.isEmpty(status)) {
                                // 服务器code异常
                                Toast.makeText(MainActivity.this, "服务器正在升级中...", Toast.LENGTH_SHORT).show();
                            } else if (status.equals("ok")) {
                                // UI线程
                                Toast.makeText(MainActivity.this, "加载成功", Toast.LENGTH_SHORT).show();
                                textResult.setText("加载结果:" + response.toString());
                            } else {
                                // 失败
                                Toast.makeText(MainActivity.this, status, Toast.LENGTH_SHORT).show();
                            }
                    }
                }
    
                    @Override
                    public void onFailure(Exception e) {
                        Toast.makeText(MainActivity.this, "网络连接失败,请检查网络连接", Toast.LENGTH_SHORT).show();
                        e.printStackTrace();
                    }
            }, list);
    }
    

    有没有觉得So Easy.

    另外Demo中用到了Logger库,体验体验哦:https://github.com/orhanobut/logger

    不说了,直接上代码:https://github.com/changhelaobiao/OkHttpDemo

    PS:小编项目中用的是Volley网络框架,有机会再跟大家分享。