- 尝试单 Activity 多 Fragment 的 UI 架构
- 通过 Navigation 导航
- ViewModel 完成数据和 UI 交互
- LiveData 观察数据
- Room 和 DataStore 负责本地数据
- Retrofit 负责网络数据
- 整体通过 Hilt 注入依赖
架构绝非固定模式,依实际需求和最佳实践自由搭配~
六、Jetpack ComposeJetpack Compose 是 Google 耗费五年倾力打造,用于构建 Android 原生界面的全新 UI 工具包。Android 诞生多年,UI 体系早已成熟,为什么这么要重造一个轮子?
原因:
- XML 布局冗长、繁琐:遇到复杂的布局,把屏幕竖过来都看不全
- View 编程方式的嵌套会带来性能影响:不合理的布局导致测量性能翻倍
- 手动更新视图复杂、易错
- 声明性界面模型逐渐流行:这种方式可以简化 UI 的构建和更新步骤,仅执行必要的更改
其发展历程:
- 17 年立项
- 之后长达三年的内部调查和实验
- 20 年初 dev 版公开,年中 alpha 版推出
- 21 年初 beta 版发布
- 21 年 4 月全球挑战推广
- 21 年 7 月正式发布
去年上半年 Google 启动了为期四周的全球 Compose 挑战赛,提供了 500 多份乐高联名积木,十几部 Pixel 手机奖品,引发数万计Android开发者尝鲜,提交作品。
- 第一周的挑战做一个宠物领养 App,我花了一个周末做了个 LovePet 并拿到了这个飘洋过海的乐高积木,在推特上提交作品截图之后还有好多老外点赞,是很不错的体验。
- 后面的挑战还有定时器 App,复刻 App 设计作品,发挥想象做个天气 App 等
这些比赛内容其实涵盖了 Compose 所需要用到的大部分技术。Google 的大力推广也足见其决心和重视程度,日后必将成为Android平台上重要的UI编写方式,早日上车!
6.2 编程思想我们通过一个展示 “Hello World” 文本的小例子,来直观感受一下 Compose 编程思想的明显差异。