2019.07~至今 阿坝师范学院智慧校园平台服务(i阿师)
项目描述:建设阿坝师范学校智慧校园app服务平台,形成以数据中心统一功能,并实现各个系统与数据中心交互,实现数据交互,数据共享,支撑阿坝师范学院的老师和学生使用。
责任描述:架构设计、需求跟进、页面UI与逻辑功能的实现、性能优化
技术要点:
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通讯即时聊天,进行了二次封装,以及激光推送消息接入学生请假,平台的消息推送