RxEasyHttp 使用指南

RxEasyHttp 使用指南

RxEasyHttp本库是一款基于RxJava2+Retrofit2实现简单易用的网络请求框架,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置,上传下载进度显示,请求错误自动重试,请求携带token、时间戳、签名sign动态配置,自动登录成功后请求重发功能,3种层次的参数设置默认全局局部,默认标准ApiResult同时可以支持自定义的数据结构,已经能满足现在的大部分网络请求。项目地址:https://gitcode.com/gh_mirrors/rx/RxEasyHttp


项目介绍

RxEasyHttp 是一款专为 Android 平台设计的网络请求库,它巧妙融合了 RxJava2Retrofit2 的优势,旨在简化网络交互流程。该库实现了链式调用的API设计,使得网络请求的配置更加直观且易于理解。它不仅提供了基础的HTTP请求功能,还集成了Cookie管理、多种缓存策略、HTTPS简易配置、上传下载进度监控,并且具备请求错误的自动重试机制。此外,RxEasyHttp允许灵活配置请求参数,如Token、时间戳和签名,以及自适应的自动登录后请求重发功能。它的设计考虑到了Android特定的需求,如统一的数据结果结构,从而便于开发者处理常见的业务逻辑。

项目快速启动

在您的Android项目中集成RxEasyHttp,首先确保您已更新至较新的Gradle插件,并在app的build.gradle文件中添加依赖:

dependencies {
    implementation 'com.zhouyou:rxeasyhttp:2.1.0'
}

之后,同步 Gradle 项目。接下来,简单的GET请求例子展示如下:

RxEasyHttp.get("your/api/url")
        .build()
        .subscribe(new Consumer<ResponseInfo<String>>() {
            @Override
            public void accept(ResponseInfo<String> responseInfo) throws Exception {
                if (responseInfo.isSuccess()) {
                    String result = responseInfo.getData();
                    // 处理返回数据
                } else {
                    // 处理错误情况
                }
            }
        });

记得在全局或应用程序初始化处配置RxEasyHttp,开启调试模式等:

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        RxEasyHttp.init(this); // 初始化RxEasyHttp
        RxEasyHttp.config().setDebug(true); // 开启调试模式
    }
}

应用案例和最佳实践

缓存使用

利用RxEasyHttp的缓存特性,可以通过简单的配置实现数据的本地缓存,提高用户体验:

RxEasyHttp.get("cache-api-url")
        .cacheMode(CacheMode.FIRST_CACHE_THEN_REQUEST)
        .build()
        .subscribe(...);

错误处理与重试

对于复杂的网络状况,可以定制错误处理逻辑,包括自动重试:

RxEasyHttp.get("some-url")
        .config(RequestConfig.custom().retryOnConnectFailure(3)) // 设置连接失败重试次数
        .build()
        .subscribe(...);

典型生态项目

虽然RxEasyHttp本身就是围绕RxJava2和Retrofit2构建的一个生态系统的一部分,但在实际应用中,它可以与其他库协同工作,比如结合 LeakCanary 监控内存泄漏,或是使用 GlidePicasso 处理网络图片加载。此外,为了更好地管理运行时权限,与 AndroidX PermissionsRxPermissions 结合可以大大简化权限申请的流程。


以上仅为快速入门指导,RxEasyHttp的完整功能和高级用法建议参考其GitHub仓库中的详细文档和示例代码,以充分利用其全部潜能。

RxEasyHttp本库是一款基于RxJava2+Retrofit2实现简单易用的网络请求框架,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置,上传下载进度显示,请求错误自动重试,请求携带token、时间戳、签名sign动态配置,自动登录成功后请求重发功能,3种层次的参数设置默认全局局部,默认标准ApiResult同时可以支持自定义的数据结构,已经能满足现在的大部分网络请求。项目地址:https://gitcode.com/gh_mirrors/rx/RxEasyHttp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平樱玫Duncan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值