zoukankan      html  css  js  c++  java
  • NoHttp的使用


    1.添加依赖: compile 'com.yanzhenjie.nohttp:nohttp:1.1.1'


    2.注册初始化
      NoHttp.initialize(this);
            Logger.setDebug(true);// 开启NoHttp的调试模式, 配置后可看到请求过程、日志和错误信息。上线后改为false   不然影响性能
            Logger.setTag("NoHttpSample");// 设置NoHttp打印Log的tag。

    3.Nohttp的get请求
        RequestQueue requestQueue = NoHttp.newRequestQueue();
            Request<String> request = NoHttp.createStringRequest("http://c.m.163.com/nc/article/headline/T1348647909107/" + START + "-" + SUM + ".html", RequestMethod.GET);
            requestQueue.add(0, request, new OnResponseListener<String>() {
                @Override
                public void onStart(int what) {

                }

                @Override
                public void onSucceed(int what, Response<String> response) {
                    String json = response.get();//得到请求数据
                  
                }

                @Override
                public void onFailed(int what, Response<String> response) {

                }

                @Override
                public void onFinish(int what) {

                }
            });

    4.Nohttp请求图片
      final Request<Bitmap> request = NoHttp.createImageRequest("https://ps.ssl.qhimg.com/sdmt/166_135_100/t01b77a38c118a9967e.jpg", RequestMethod.GET);
            requestQueue.add(2, request, new OnResponseListener<Bitmap>() {
                @Override
                public void onStart(int what) {

                }

                @Override
                public void onSucceed(int what, Response<Bitmap> response) {
                    Bitmap bitmap = response.get();
                    Log.e("ABC",bitmap.toString());
                    icon.setImageBitmap(bitmap);

                }

                @Override
                public void onFailed(int what, Response<Bitmap> response) {

                }

                @Override
                public void onFinish(int what) {

                }
            });

    5.Nohttp的post请求
      Request<String> request = NoHttp.createStringRequest("http://apicloud.mob.com/appstore/horoscope/day", RequestMethod.POST);
            request.add("key", "1d120467e646b");
            request.add("date", "1994-11-09");
            request.add("hour", "1");
            requestQueue.add(1, request, MainActivity.this);
     
        @Override
        public void onStart(int what) {

        }
     
        @Override
        public void onSucceed(int what, Response<String> response) {
            String json = response.get();
            switch (what){
                case 0:
                    Log.e("TAG","get:::"+json);
                    show.setText(json);
                    break;
                case 1:
                    Log.e("TAG","post:::"+json);
                    show.setText(json);
                    break;
            }
        }

        @Override
        public void onFailed(int what, Response<String> response) {

        }
       
        @Override
        public void onFinish(int what) {

        }

    6.NoHttp网络请求只包含四个方法:
    1.开始请求
    2.得到数据
    3.得到请求数据
    4.请求结束
  • 相关阅读:
    HTTP 协议中的并发限制及队首阻塞问题
    聊聊JMM
    聊聊CacheLine
    git解决本地建立git仓库 连接远程git仓库出现拒绝合并问题
    django 本地项目部署uwsgi 以及云服务器部署 uwsgi+Nginx+Docker+MySQL主从
    我的第一篇播客
    大爷的超市管理系统——冲刺第一天
    能混绝不C——凡事预则立
    2020软件工程团队作业——05
    2020软件工程作业——04
  • 原文地址:https://www.cnblogs.com/livelihood/p/6758764.html
Copyright © 2011-2022 走看看