项目背景
由于经常需要查询天气,但是第三方天气app里面有非常多的广告。于是使用新一代声明式的UI框架Compose实现一个基于MVI架构的天气app。
项目架构及技术
- 架构:使用ViewModel+Flow+Compose实现MVI架构;
- 布局:采用ConstraintLayout,Row,Column,LazyColumn,PullRefreshIndicator等组件;
- 数据:使用Retrofit实现网络数据加载,通过添加Retrofit的addConverterFactory实现全局状态拦截;
- 缓存:使用Room实现对数据的缓存;
- 使用Hilt实现依赖注入。
三方SDK
- 百度定位sdk;
- 和风Web api;
关键词
MVI, Compose, Hilt,Room,Flow,状态上提,多域名,函数穿透
效果展示
详细内容请参考项目地址
写在最后
第一次写Compose基于MVI构架的项目,项目中应该存在不少的问题,如您发现有不合理的可以留言交流。