前言
今年七月底,Google
正式发布了 Jetpack Compose
的 1.0
稳定版本,这说明Google
认为Compose
已经可以用于生产环境了。相信Compose
的广泛应用就在不远的将来,现在应该是学习Compose
的一个比较好的时机
在了解了Compose
的基本知识与原理之后,通过一个完整的项目继续学习Compose
应该是一个比较好的方式。 本文主要基于Compose
,MVI
架构,单Activity
架构等,快速实现一个wanAndroid
客户端,如果对您有所帮助可以点个Star
: wanAndroid-compose
效果图
首先看下效果图
------------------------------------------------------------ | ------------------------------------------------------------ |
主要实现介绍
各个页面的具体实现可以查看源码,这里主要介绍一些主要的实现与原理
使用MVI
架构
MVI
与 MVVM
很相似,其借鉴了前端框架的思想,更加强调数据的单向流动和唯一数据源,架构图如下所示
其主要分为以下几部分
Model
: 与MVVM
中的Model
不同的是,MVI
的Model
主要指UI
状态(State
)。例如页面加载状态、控件位置等都是一种UI
状态View
: 与其他MVX
中的View
一致,可能是一个Activity
或者任意UI
承载单元。MVI
中的View
通过订阅Model
的变化实现界面刷新Intent
: 此Intent
不是Activity
的Intent
,用