nohttp 简单封装

1集成nohttp

1在build.gradle(app)中dependencies{}里面添加 。

implementation ‘com.yanzhenjie.nohttp:nohttp:1.1.11’
implementation ‘com.yanzhenjie.nohttp:okhttp:1.1.11’

2新建一个MyApplication 继承自Application 在onCreate()里面初始化nohttp框架(如果项目中已经有了自定义的Application,可以在对应里面做初始化操作,不用重新创建,可略过步骤3) 代码如下。

 public class MyApplication extends Application {
    private static MyApplication app;
    public static boolean canShow = true;
    @Override
    public void onCreate() {
        super.onCreate();
        app = this;
        initNet();
    }

    public static Application getAppInstance() {
        return app;
    }



    private void initNet() {
        // 初始化nohttp 网络框架
        InitializationConfig nohttpConfig = InitializationConfig.newBuilder(MyApplication.getAppInstance())
                // 设置全局连接超时时间,单位毫秒,默认10s。
                .connectionTimeout(30 * 1000)
                // 设置全局服务器响应超时时间,单位毫秒,默认10s。
                .readTimeout(30 * 1000)
                // 配置缓存,默认保存数据库DBCacheStore,保存到SD卡使用DiskCacheStore。
                .cacheStore(
                        new DBCacheStore(this).setEnable(true) // 如果不使用缓存,设置setEnable(false)禁用。
                )
                // 配置Cookie,默认保存数据库DBCookieStore,开发者可以自己实现。
                .cookieStore(
                        new DBCookieStore(this).setEnable(false) // 如果不维护cookie,设置false禁用。
                )
                // 配置网络层,URLConnectionNetworkExecutor,如果想用OkHttp:OkHttpNetworkExecutor。
                .networkExecutor(new OkHttpNetworkExecutor())
                // 全局通用Header,add是添加,多次调用add不会覆盖上次add。
                .retry(3) // 全局重试次数,配置后每个请求失败都会重试x次。
                .build();
        NoHttp.initialize(nohttpConfig);
        //日志
        Logger.setDebug(true);// 开启NoHttp的调试模式, 配置后可看到请求过程、日志和错误信息。
        Logger.setTag("NoHttpSample");// 打印Log的tag。
    }
}

3在AndroidMainifest.xml里面的application里添加上一步MyApplication的引用

<application
...
    android:name=".MyApplication"
    ...
>
</application>

2使用

1在项目中复制对应文件HttpRequestTool到放工具类的文件夹。

2设置对应的baseUrl ,在HttpRequestTool里面,可根据项目的不同,灵活变动。

3基本的网络请求,直接调用request方法 其中请求地址 url, 请求参数 Map<String,Object> params, 对应的context ,网络请求的tag, 回调 callBack 示例如下。

        Map<String, Object> pramas = new HashMap<>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值