zoukankan      html  css  js  c++  java
  • Nohttp框架在Android Studio中的使用

    1、添加noHttp的使用权限

    <!-- 读写 sd 卡 -->
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <!-- 联网 -->
        <uses-permission android:name="android.permission.INTERNET" />
        <!-- 读取网络状态 -->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    2、依赖noHttp开发库

     compile 'com.yolanda.nohttp:nohttp:1.1.0'
      compile 'com.yanzhenjie.nohttp:okhttp:1.1.0'
      nohttp的底层 1.httpurlconnection 2.okhttp

    3、要求在Application对nohttp进行初始化

    public class MyApp extends Application{
            @Override
            public void onCreate() {
            super.onCreate();
            // 步骤三。要求在 application 对 nohttp 进行初始化
            // NoHttp.initialize(this);
            //3.1. 创建框架的配置参数对象
            NoHttp.Config config=new NoHttp.Config();
            //3.2. 连接超时
            config.setConnectTimeout(5000);
            //3.3. 设置底层 , 底层是 OkHttp
            config.setNetworkExecutor(new OkHttpNetworkExecutor());
            NoHttp.initialize(this,config);
            }
        }

    4、在清单文件中注册application

    <application android:allowBackup="true" android:icon="@mipmap/ic_launcher"
        android:name=".MyApp"    

    5、创建请求并进行发送 处理服务端返回的数据

    public class HttpUtil {
            private static RequestQueue sRequestQueue;
            public static void get(String url, OnResponseListener<String> listener) {
                StringRequest request = new StringRequest(url, RequestMethod.GET);
                if (sRequestQueue == null) {
                    //创建请求队列
                    sRequestQueue = NoHttp.newRequestQueue();
                }
                    request.setCacheMode(CacheMode.NONE_CACHE_REQUEST_NETWORK);
                    sRequestQueue.add(0, request, listener);
                }
        }

    注:StringRequest: 返回结果为 String(json/xml) 的请求,使用最广泛的请求对象
        RequestQueue :用来发送请求的。支持子线程
        OnResponseListener :回调对象 | 监听器 提供空方法来编写处理逻辑 ## 步骤五。调用例子

    6、设置响应的监听

    OnResponseListener<String> listener = new OnResponseListener<String>() {
            // 网络请求开始的界面显示
            @Override
            public void onStart(int what) {
    
            }
            // 网络请求结束的界面显示
            @Override
            public void onFinish(int what) {
    
            }
            // 结果成功的情况
            @Override
            public void onSucceed(int what, Response<String> response) {
    
            }
            // 结果失败的情况
            @Override
            public void onFailed(int what, Response<String> response) {
                
            }
        };
  • 相关阅读:
    第四章 连接管理
    第三章 http报文
    第二章 URL与资源
    第一章 http概述
    html5 canvas 游戏地图绘制
    jqGrid 编辑完数据后能返回到当前位置的方法
    发布APP到app store
    STSDB、NDataBase 对象数据库在不同.net framework下无法读取的解决办法
    System.Json 使用注意
    TiQuery
  • 原文地址:https://www.cnblogs.com/yegong0214/p/6274847.html
Copyright © 2011-2022 走看看