App 健康出行
注意
项目源自《Android Jetpack开发 原理解析与应用实战》第十一章 打造一个 MVVM 架构的健康出行 App
效果图
项目需求设计与可行性分析
App 主要功能:
- 查询城市数据:是项目各功能的基础,为了便于选择数据,将会在选择城市数据页面增加字母列表索引功能。(查询城市数据模块作为所有功能的基础服务在主页面是没有入口的。当选择城市数据时,跳转到选择城市功能页面即可)
- 查询城市核酸检测机构:查询特定城市的核酸检测机构信息,其中主要包含机构名称、联系电话、详细地址等。
- 查询疫情风险等级地区:中、高风险地区的数量与详细信息。
- 查询健康出行政策:两个城市之间的出行政策。
数据接口使用聚合数据提供的免费在线 API(30次/天)
注:从 Android 9.0 系统开始,HTTP 类型的网络请求需要做些处理。
组件化结构的设计与搭建
项目采用组件化结构不仅有利于开发和维护,而且有利于提高编译效率和对模块的单独测试。这里会将每个模块都拆分为单独的模块,但所有的业务模块都依赖于 appbase 模块。
- app 模块作为项目入口
- appbase 模块:包含网络请求、基础 Activity 等一些封装的工具类
- module_city 模块:查询城市数据
- module_risk_level 模块:查询风险等级
- module_test_agency 模块:查询核酸检测机构
- module_travel_policy 模块:查询健康出行政策
组件化结构搭建主要解决三个问题:
- 各模块的库如何统一管理(buildSrc)
- 模块间如何通信(ARouter)
- 模块如何单独运行(切换 library 和 application)
依赖组件
- Hilt
- Retrofit
- Flow
- DataBinding
- LiveData
- ViewModel
- Coil
- ARouter
- ……
基本流程
databean 文件 -> Api 接口文件 -> Respository 仓库层(获取数据)-> ViewModel -> 实现UI层(Activity)
备注
参考资料:
应用下载:链接地址
源码地址:GitHub
欢迎关注微信公众号:非也缘也