StarWarsSearch-MVI星球大战样本Android项目展示MVI架构和UI组件化设计
星球大战粉+MVI 控可以冲了!StarWarsSearch-MVI是个基于 Android 的开源项目,用来演示怎么用View 组件在Activity和Fragment里搞定 UI 展示。嗯,它不是照搬 Jetpack 那一套,而是走的Netflix UI 工程团队推荐的组件化思路,结构清爽,代码还挺好读。
用的架构是MVI+Clean Architecture,数据流单向,状态管理稳定。中间层是 Kotlin 协程和 Flow,响应快,逻辑也顺。视图和状态分得挺清楚,改配置不掉数据,像换屏、旋转这些都不怕。
几个关键技术栈值得一提:Dagger-Hilt做依赖注入,Retrofit配合Moshi解析 JSON,Room做本地缓存,还有okhttp-logging方便调试接口返回。整体配置走的是Kotlin Gradle DSL,CI 自动化也用上了 GitHub Actions。
操作上也挺人性化。跑项目前只要装好 Android Studio Arctic Fox(金丝雀 13)和 Gradle 7.0,一键./setup.sh
搞定初始化,连截图库和 View 状态保存的演示都带了,省心。
如果你平时对 MVI 结构比较感兴趣,或者想找个真实项目看看Flow 怎么替代传统点击监听,这个项目还挺合适的。也适合写 UI 组件时卡在状态同步的同学,值得扒一下。
想扩展一下知识面?可以顺手看看这些:
- 基于 Kotlin MVI 架构的 Android 应用开发
- MVIKotlin Kotlin 多平台 MVI 架构框架
- Orbit-MVI 适用于 Kotlin 和 Android 的高效 MVI 框架
- Vector:基于 Kotlin 协程的 Android MVI 架构利器
如果你正在学Kotlin Flow、写MVI或者研究组件化 UI,可以收藏下这个项目当参考用,值得一看。
389.39KB
文件大小:
评论区