-
内容大纲
本书从Compose项目背景介绍开始,到开发环境搭建、基础知识储备,再到基本使用方式、高阶用法展开讲解,结合示例,使读者从零开始逐步掌握Compose的使用。通过原理解析、最佳工程实践,以及创新性的Compose+Web3实战项目,读者可更进一步深入了解和夯实Compose知识,循序渐进,由浅入深。
本书为读者提供了全部案例的源代码下载和高清学习视频,读者可以直接扫描二维码观看。
本书适合零基础或者有一定移动端开发经验,特别是Android开发经验的开发者、爱好者,另外也适合所有前端开发工程师、相关院校师生,以及所有对Compose声明式开发范式有兴趣的读者。 -
作者介绍
-
目录
第1章 认识Compose
1.1 Compose是什么
1.1.1 Compose产生背景
1.1.2 Compose的使命
1.1.3 Compose的优势
1.1.4 Compose的发展阶段
1.2 声明式UI
1.2.1 什么是命令式UI
1.2.2 什么是声明式UI
1.3 传统View与Compose
1.3.1 庞大的View体系
1.3.2 传统View绘制和刷新流程
1.3.3 Compose做了哪些突破
1.3.4 为什么选择Compose
1.3.5 Compose与View的关联
1.4 Compose分层结构
1.4.1 运行时Runtime和编译器Compiler
1.4.2 与平台相关的其他层
1.4.3 架构分层使用原则
1.4.4 多平台支持
1.5 小结和训练
第2章 Compose开发环境
2.1 Compose开发环境的搭建
2.1.1 配置Android Studio
2.1.2 新建Compose工程
2.1.3 在已有项目中添加Compose支持
2.2 Compose工具
2.2.1 Compose预览
2.2.2 Android Studio快捷操作
2.2.3 实时更新预览
2.2.4 布局检查工具
2.2.5 动画检查工具
2.3 编写第一个Compose程序
2.3.1 用Compose实现“Hello World”
2.3.2 添加父容器并布局
2.3.3 修改主题和样式
2.4 小节和训练
第3章 Compose知识储备
3.1 Kotlin基础
3.1.1 默认参数值
3.1.2 高阶函数和lambda表达式
3.1.3 委托属性
3.1.4 解构声明
3.1.5 单例
3.1.6 类型安全的构建器和DSL
3.1.7 协程
3.1.8 函数式编程
3.2 Compose编程思想
3.2.1 声明性编程范式
3.2.2 Composable函数
3.2.3 数据、事件和UI
3.2.4 动态内容
3.2.5 重组
3.3 Composable函数
3.3.1 Composable函数的本质
3.3.2 Composable函数的特点
3.3.3 Composable函数的原理
3.4 副作用
3.4.1 Composable生命周期
3.4.2 副作用API和重启副作用
3.5 小结和训练
第4章 Compose界面编程基础
4.1 Compose的主题
4.1.1 设置主题
4.1.2 Material主题
4.1.3 自定义主题
4.2 Compose的文字控件
4.2.1 显示文字
4.2.2 文字的样式
4.2.3 与用户交互
4.2.4 编辑文字
4.3 Compose的按钮控件
4.3.1 创建和使用按钮
4.3.2 Material主题的按钮
4.3.3 自定义按钮
4.4 Compose的图片控件
4.4.1 创建和使用图片控件
4.4.2 设置图片样式
4.4.3 加载网络图片
4.5 小结和训练
第5章 Compose的布局
5.1 Compose布局基础
5.1.1 标准布局组件
5.1.2 布局中的修饰符
5.1.3 布局模型
5.2 Compose布局进阶
5.2.1 自定义布局
5.2.2 自适应布局
5.2.3 约束布局
5.3 Compose的复杂控件
5.3.1 列表
5.3.2 Scaffold脚手架
5.3.3 Material布局
5.4 小结和训练
第6章 使用Compose绘制图形
6.1 Compose绘制图形的基础
6.1.1 Compose中的Canvas
6.1.2 Compose中的Paint
6.1.3 图形混合模式
6.2 Compose绘制点、线和矩形
6.2.1 使用Canvas绘制点
6.2.2 使用Canvas绘制线
6.2.3 使用Canvas绘制矩形
6.3 Compose绘制圆、椭圆和弧形
6.3.1 使用Canvas绘制圆
6.3.2 使用Canvas绘制椭圆
6.3.3 使用Canvas绘制弧形
6.4 Compose绘制图片和路径
6.4.1 使用Canvas绘制图片
6.4.2 使用Canvas绘制路径
6.5 小结和训练
第7章 Compose的动画和手势
7.1 高级别动画API
7.1.1 可见性动画
7.1.2 布局内容动画
7.1.3 布局切换动画
7.2 低级别动画API
7.2.1 属性动画
7.2.2 帧动画
7.2.3 多动画管理API
7.2.4 无状态API——Animation
7.3 动画的高级用法
7.3.1 自定义动画
7.3.2 手势和动画
7.3.3 多个动画组合
7.4 Compose手势
7.4.1 Compose点击事件
7.4.2 Compose滚动事件
7.4.3 Compose拖动事件
7.4.4 Compose滑动事件
7.4.5 Compose多点触控
7.5 小结和训练
第8章 深入理解Compose UI体系
8.1 Compose运行原理简析
8.1.1 @Composable注解
8.1.2 Composer中的Gap Buffer
8.1.3 对比参数
8.1.4 发生重组
8.2 智能重组
8.2.1 重组的流程1——MutableState的写入操作
8.2.2 重组的流程2——通知MutableState写入操作给观察者
8.2.3 快照系统——Snapshot
8.2.4 重组的范围
8.3 修饰符Modifier
8.3.1 什么是修饰符
8.3.2 修饰符的实现原理
8.3.3 修饰符的作用范围
8.4 Composable的生命周期
8.4.1 Composable生命周期事件
8.4.2 Composable生命周期事件监听
8.4.3 Composable生命周期解析
8.5 Compose渲染流程
8.5.1 三个阶段
8.5.2 分阶段读取状态
8.5.3 状态读取的优化
8.5.4 重组循环
8.6 小结和训练
第9章 Compose数据和状态管理
9.1 什么是状态
9.1.1 应用中的状态定义
9.1.2 Compose中的状态和事件
9.1.3 有状态和无状态的可组合项
9.2 单向数据流
9.2.1 状态提升
9.2.2 什么是单向数据流
9.2.3 使用单向数据流管理状态
9.3 Compose状态存储和恢复
9.3.1 使用remember存储状态
9.3.2 remember的作用范围
9.3.3 使用rememberSaveable存储与恢复状态
9.3.4 remember和rememberSaveable原理探究
9.4 Compose中的状态管理
9.4.1 管理状态的一般原则
9.4.2 直接使用Composable管理状态
9.4.3 使用封装类单独管理状态——StateHolder
9.4.4 使用ViewModel管理状态
9.5 限定数据作用域工具CompositionLocal
9.5.1 CompositionLocal介绍
9.5.2 compositionLocalOf与staticCompositionLocalOf的区别
9.5.3 CompositionLocal适用场景
9.6 小结和训练
第10章 Compose工程实践
10.1 Compose和其他Jetpack库结合
10.1.1 在Compose中使用ViewModel
10.1.2 在Compose中使用数据流
10.1.3 在Compose中使用Paging
10.1.4 在Compose中使用Hilt
10.2 使用Compose进行导航
10.2.1 使用Navigation入门
10.2.2 携带参数跳转
10.2.3 支持deep link
10.3 使用Compose中的资源
10.3.1 Compose的资源管理方式
10.3.2 在代码中使用Compose的资源
10.4 无障碍服务
10.4.1 无障碍服务的属性支持
10.4.2 无障碍服务的常见用例
10.5 测试Compose
10.5.1 测试API
10.5.2 同步测试
10.5.3 测试常见模式
10.6 小结和训练
第11章 DApp实战项目:技术圈子
11.1 项目介绍
11.1.1 项目概览
11.1.2 业务模块
11.1.3 工程结构
11.2 Web3极简介绍
11.2.1 什么是Web3
11.2.2 什么是DApp
11.2.3 智能合约
11.2.4 Solidity简介
11.3 首页
11.3.1 页面容器
11.3.2 文章列表
11.3.3 视频列表
11.3.4 问答广场
11.4 文章详情
11.4.1 页面路由
11.4.2 文章主体
11.4.3 点赞动画
11.4.4 打赏合约
11.4.5 打赏操作
11.5 本章小结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...