万本电子书0元读

万本电子书0元读

顶部广告

Jetpack Compose 从入门到实战电子书

售       价:¥

纸质售价:¥81.70购买纸书

82人正在读 | 0人评论 6.7

作       者:王鹏,关振智,曾思淇

出  版  社:机械工业出版社

出版时间:2022-08-01

字       数:15.2万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Jetpack Compose是谷歌推出的全新Android UI发框架,它采用更为先的声明式发思想,极大地提升了应用界面的发效率。 Compose颠覆性的设计理念使得其学习 线较为陡峭,因此本书对知识行了系统全面的整理和编排。全书共分11章,从写行Hello World到实现一个全功能的产品级项目,帮助读者规划出了从门到精通的*佳学习路径。除了对知识细致的讲解之外,书中还穿插了大量源码示例和*佳实践,帮助读者及时巩固所学的内容,真正达到学以致用。 本书适合Jetpack Compose初学者阅读,同时书中的很多经验总结,对于已经有一定基础的发者也同样具有参考价值。<br/>【作者】<br/>王鹏,谷歌发者专家(GDE),字节跳动移动端架构师,CSDN、掘金知名博主,GDG 社区特邀讲师,多次受邀在 Google DevFest、I/O Extended 等活动行演讲,国内首批一批触 Compose 的发者,热衷于 Android Jetpack 新技术的实践与推广。 关振智, 北京邮电大学计算机系硕士,国内*早一批触 Compose 的发者,Jetpack Compose 中文技术社区核心成员。掘金优秀创作者, 谷歌发者社区特邀嘉宾讲师,产出的大量技术内容在社区广受好评。热爱技术,乐于分享。 曾思淇,Jetpack Compose 中文技术社区主要维护者,源技术爱好者,热衷于 Compose 相关技术的研究与推广,为社区贡献了大量 Compose 门教程,基于 Compose 发过多个独立 App。<br/>
目录展开

前折页

书名页

版权

前言

第1章 全新的Android UI框架

1.1 Jetpack Compose是什么

1.1.1 谷歌为什么要推出Compose

1.1.2 命令式UI与声明式UI

1.1.3 Compose API设计原则

1.1.4 Compose与View的关系

1.1.5 不只是Android UI框架

1.2 搭建开发环境

1.2.1 准备所需要的开发工具

1.2.2 部署开发环境

1.3 创建第一个Compose应用

1.3.1 创建新的Compose项目

1.3.2 保持Compose版本更新

1.3.3 在模拟器中运行Compose应用

1.3.4 分析第一个Compose应用

1.3.5 对Compose应用进行预览

1.3.6 已有项目引入Compose

1.4 本章小结

第2章 了解常用UI组件

2.1 Modifier修饰符

2.1.1 常用修饰符

2.1.2 作用域限定Modifier修饰符

2.1.3 Modifier实现原理

2.2 常用的基础组件

2.2.1 文字组件

2.2.2 图片组件

2.2.3 按钮组件

2.2.4 选择器

2.2.5 对话框

2.3 常用的布局组件

2.3.1 线性布局

2.3.2 帧布局

2.3.3 Spacer留白

2.3.4 ConstraintLayout约束布局

2.3.5 Scaffold脚手架

2.4 列表

2.4.1 LazyComposables

2.4.2 LazyListScope作用域

2.4.3 内容填充

2.5 本章小结

第3章 定制UI视图

3.1 构建UI页面

3.1.1 配置颜色、字体与形状

3.1.2 Welcome欢迎页

3.1.3 LoginIn登录页

3.1.4 Home主页

3.1.5 布局预览

3.2 主题

3.2.1 MaterialTheme介绍

3.2.2 理解MaterialTheme与CompositionLocal

3.2.3 定制主题方案

3.3 本章小结

第4章 状态管理与重组

4.1 状态管理

4.1.1 什么是状态

4.1.2 单向数据流

4.1.3 Stateless与Stateful

4.1.4 状态的定义

4.1.5 状态上提

4.1.6 状态的持久化与恢复

4.1.7 使用ViewModel管理状态

4.1.8 LiveData、RxJava、Flow转State

4.1.9 状态的分层管理

4.2 重组与自动刷新

4.2.1 智能的重组

4.2.2 避免重组的“陷阱”

4.2.3 如何确定重组范围

4.2.4 优化重组的性能

4.3 生命周期与副作用

4.3.1 Composable的生命周期

4.3.2 Composable的副作用

4.3.3 副作用API

4.3.4 异步处理的副作用API

4.3.5 状态创建的副作用API

4.3.6 副作用API的观察参数

4.4 本章小结

第5章 Compose组件渲染流程

5.1 组合

5.2 布局

5.2.1 LayoutModifier

5.2.2 LayoutComposable

5.2.3 固有特性测量Intrinsic

5.2.4 SubcomposeLayout

5.3 绘制

5.3.1 Canvas Composable

5.3.2 DrawModifier

5.3.3 使用平台原生Canvas

5.3.4 实战:Canvas绘制波浪加载

5.4 本章小结

第6章 让页面动起来:动画

6.1 动画分类

6.2 高级别动画API

6.2.1 AnimatedVisibiliy

6.2.2 AnimatedContent

6.2.3 Crossfade

6.2.4 Modifier.animateContentSize

6.3 低级别动画API

6.3.1 animate*AsState

6.3.2 Animatable

6.4 Transition过渡动画

6.4.1 updateTransition

6.4.2 rememberInfiniteTransition

6.5 AnimationSpec动画规格

6.5.1 spring弹跳动画

6.5.2 tween补间动画

6.5.3 keyframes关键帧动画

6.5.4 repeatable循环动画

6.5.5 infiniteRepeatable无限循环动画

6.5.6 snap快闪动画

6.5.7 使用Easing控制动画节奏

6.6 AnimationVector动画矢量值

6.6.1 TwoWayConverter

6.6.2 自定义实现TwoWayConverter

6.7 实战:Compose实现骨架屏的动画效果

6.7.1 定义背景色

6.7.1 为Brush添加动画

6.7.2 实现骨架屏布局

6.8 实战:Compose实现收藏按钮动画效果

6.8.1 实现方式1:高级别API(AnimatedContent)

6.8.2 实现方式2:低级别API(updateTransition)

6.9 本章小结

第7章 增进交互体验:手势处理

7.1 常用的手势处理Modifier

7.1.1 Clickable点击

7.1.2 CombinedClickable复合点击

7.1.3 Draggable拖动

7.1.4 Swipeable滑动

7.1.5 Transformable多点触控

7.1.6 Scrollable滚动

7.1.7 NestedScroll嵌套滑动

7.2 定制手势处理

7.2.1 使用PointerInput Modifier

7.2.2 手势事件方法作用域awaitPointerEventScope

7.3 手势结合动画

7.4 本章小结

第8章 为Compose添加页面导航

8.1 在Compose中使用Navigation

8.1.1 认识Jetpack Navigation

8.1.2 Navigation for Compose

8.1.3 导航时携带参数

8.1.4 Navigation搭配底部导航栏

8.1.5 嵌套导航图Nested Navigation Graph

8.1.6 导航DeepLinks

8.1.7 Navigation对ViewModel的支持

8.2 在Compose中使用Hilt

8.2.1 认识Dagger Hilt

8.2.2 在Compose中使用Hilt

8.3 本章小结

第9章 Accompanist与第三方组件库

9.1 Accompanist

9.1.1 SystemUiController

9.1.2 Pager

9.1.3 SwipeRefresh

9.1.4 Flow Layouts

9.1.5 Insets

9.2 Lottie

9.2.1 配置依赖

9.2.2 Lottie动画资源

9.2.3 创建Lottie动画

9.3 Coil

9.3.1 配置依赖

9.3.2 AsyncImage

9.3.3 SubcomposeAsyncImage

9.3.4 AsyncImagePainter

9.4 本章小结

第10章 项目实战:小游戏Tetris

10.1 整体项目架构

10.2 砖块矩阵(BrickMatrix)

10.2.1 drawBrick绘制砖块单元

10.2.2 drawMatrix绘制砖块矩阵

10.3 下落中的砖块(Sprite)

10.3.1 Shape砖块组合形状

10.3.2 Sprite定义下落砖块

10.3.3 drawSprite绘制下落砖块

10.4 游戏机体(GameBody)

10.4.1 GameButton

10.4.2 组装Button、发送Action

10.4.3 Clicable:分发事件

10.5 订阅游戏状态(ViewState)

10.5.1 ViewState

10.5.2 Action

10.5.3 reduce

10.6 预览游戏画面

第11章 项目实战:聊天应用Chatty

11.1 整体系统架构

11.2 登录注册模块

11.3 IM聊天模块

11.3.1 对话列表页

11.3.2 对话详情页

11.4 联系人模块

11.4.1 通讯录页

11.4.2 添加搜索页

11.4.3 二维码扫描页

11.4.4 陌生人信息页

11.5 用户信息模块

11.5.1 个人信息页

11.5.2 信息编辑页

11.5.3 联系人信息页

11.6 发现模块

11.7 适配暗黑主题

后折页

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部