爱工作的男孩2023年04月21日
132阅读
所属分类android

作品详情

MVVM+OkHttp+Retrofit+ViewDataBinding 搭建 app 框架采用 MVVM 模式将 Activity 中的业务逻辑全部分离出来,让 Activity 只做 UI 数据显示和用户交互,Model 层对请求数据和数据实体的操作,ViewModel 层只做和业务逻辑相关的工作,降低了耦合度,使得层级职责更加明确,并结合 ViewDataBinding 双向绑定数据。网络模块基于 retrofit+rxjava 进行了二次封装, 构建了初始化 Retrofit 工具类的基类 BaseNetWorkApi,内部对 OkHttpClient 进行初始化并配置了相关的拦截器,避免了重复创建 Retrofit 实例以及重复配置属性。将拦截器的具体实现交由子类,业务开发者只需要继承并在指定的方法实现特定的拦截处理,即可将请求头,参数等进行动态配置。封装了基类 base 的自定义 view+model;封装了 IBaseObserver 来处理服务器响应以及响应数据的基类 IBaseResponse,使得业务开发者只需在使用的时候添加自己对应的接口和 Bean,调用方便简洁。基类 base 的 model,page+listener+loading+缓存+pagingResult,实现了缓存的存储封装基类的 viewmodel,监听 model 的返回结果;通过 LiveData 监听数据变化,并对 UI 进行即时刷新跨进程通信基于 aidl 封装了 IPC 通信框架,LocalService 与 RemoteService 双线程保护,主要是在服务进程中记录 ServiceId 与对应的服务实现 Class 对象以及所有的 Method 列表,配合 1 像素 SinglePixelActivity拉活,保证 StepNewService 的存活监听系统计步器的步数及时通讯基于激光 IM 通讯即时聊天,进行了二次封装,以及激光推送消息接入学生请假,平台的消息推送业务开发手写 ARouter 框架(APT 技术),实现各个 module 数据交互,实现路由交互,使用组件化开发基于对接不同的业务系统,封装了一个基于 OkHttp+Rxjava+Retrofit 一个解析的网络框架针对于不同服务器的解析,通过定义枚举类型 TypeEnum 类中的 PersonneEnum(人事系统),EducationalENum(教务系统),OaEnum(OA 系统),SudentEnum(学工系统),设置不同服务器的地址,来抽离出不同的解析器解析,以此来适应复杂的业务
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论