基本信息

案例ID:184914

技术顾问:和小吴的岁岁年年 - 9年经验 - 湖南洋光在线教育

联系沟通

微信扫码,建群沟通

项目名称:湖南普惠金融

所属行业:金融 - 理财

->查看更多案例

案例介绍

一. MVP+Rxjava+Hilt搭建APP
采用MVP架构讲Activity的业务逻辑可以抽离到Presenter中,让Activity只负责UI逻辑,Model负责数据相关部分,整
个代码层次分明、职责明确和耦合度低,便于复用和扩展以及测试。

二. 网络模块
基于 retrofit+rxjava 进行了二次封装, 构建了初始化 Retrofit 工具类的基类 NetWorkApi,内部对 OkHttpClient 进行
初始化并配置了相关的拦截器,避免了重复创建 Retrofit 实例以及重复配置属性。
将拦截器的具体实现交由子类,业务开发者只需要继承并在指定的方法实现特定的拦截处理,即可将请求头,参数等进
行动态配置。
封装了 BaseObserver 来处理服务器响应以及响应数据的基类 BaseResponse,使得业务开发者只需在使用的时候添加自
己对应的接口和 Bean,调用方便简洁。

二. LiveDataBus事件总线
不同的组件之间需要通信,项目中采用LiveDataBus。LiveDataBus借助Jetpack中的LiveData,可以感知生命周
期,符合页面状态,避免出现内存泄漏的情况。LiveDataBus安全、小巧、方便实用,虽然可能出现粘性事件问题,但是可
以通过自定义观察者解决。

四. 十六进制状态管理
官方代码中多见十六进制状态管理,这种方式的优点是十分简单,便于扩展。界面中有不同的业务状态,不同的状态
需要展示不同的按钮,一个或者多个。一般采用最原理的if-else方式需要做大量的判断,且扩展性很差,如果采用十六进
制状态管理,先给每一个按钮对应一个十六进制值,接着不同的值通过位运算组合成不同状态,之后就可以简单的判断出什
么状态,展示什么按钮。

相似案例推荐

其他人才的相似案例推荐

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服