使用Compose实现一个天气预报App

438 阅读1分钟

项目背景

由于经常需要查询天气,但是第三方天气app里面有非常多的广告。于是使用新一代声明式的UI框架Compose实现一个基于MVI架构的天气app。

项目架构及技术

  1. 架构:使用ViewModel+Flow+Compose实现MVI架构;
  2. 布局:采用ConstraintLayout,Row,Column,LazyColumn,PullRefreshIndicator等组件;
  3. 数据:使用Retrofit实现网络数据加载,通过添加Retrofit的addConverterFactory实现全局状态拦截;
  4. 缓存:使用Room实现对数据的缓存;
  5. 使用Hilt实现依赖注入。

三方SDK

  1. 百度定位sdk;
  2. 和风Web api;

关键词

MVI, Compose, Hilt,Room,Flow,状态上提,多域名,函数穿透

效果展示

效果视频展示地址

详细内容请参考项目地址

github.com/HaiYangCode…

写在最后

第一次写Compose基于MVI构架的项目,项目中应该存在不少的问题,如您发现有不合理的可以留言交流。