×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787111711377
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:24cm
  • 页数:331页
  • 出版时间:2022-08-01
  • 条形码:9787111711377 ; 978-7-111-71137-7

本书特色

◆名人推荐◆ Doris Liu,Jetpack Compose 核心成员、动画系统负责人:这本书写得很全面 ,不但包含了新系统的 mental model,详细介绍了关键 API 的用法,还有丰富的例子,尤其提到了Accompanist 第三方的库,让新手也能很快找到好用的第三方工具,我很期待这本书可以早日发行! Ben Weiss,Google Senior Developer Relations Engineer:Jetpack Compose is the native UI toolkit for Android. The book at hand provides valuable lessons and insights to get you going on your journey into Jetpack Compose.(Jetpack Compose 是 Android 新一代 Native UI 开发工具包,这本书提供了非常有价值的经验和见解,帮你快速踏上 Jetpack Compose 开发之旅。) 申强,Google 开发关系生态部门中国区负责人:Jetpack Compose 是谷歌为 Android 平台打造的下一代 UI 开发框架,可以极大地提升 Android 原生应用的开发效率。作为一本由谷歌专家 (GDE)撰写的书籍,它既涵盖了Jetpack Compose 的主要功能,还进一步介绍了 Compose 与几个当下流行的 库,如依赖注入、图片加载和动画展示的搭配使用方式。本书内容和附带的示例代码,可以使开发者学习、了解并在工作中落地 Jetpack Compose 的过程事半功倍。 朱凯,Android & Kotlin GDE:Jetpack Compose作为一个新时代的 UI 框架,充满了新概念,上手容易但学会却难。而这本书由浅入深地对 Compose 做了很好的引导式讲解,能看出作者对 Compose 知识的了解和对写作的用心。相信这本书能成为非常有用的知识库。 霍丙乾,《深入理解 Kotlin 协程》作者,Kotlin GDE:Jetpack Compose 是一个非常有魅力的UI框架,它把 Kotlin 函数式特性和编译器能力运用到了极致。本书不仅对常用 UI 组件的用法进行了介绍,同时也融入了对其中设计思想和原理的深入探讨,并给出了生动有趣的案例,非常适合大家快速上手和进阶学习。 范圣佑,Jetbrains 技术布道师:本书由Jetpack Compose中文社区的同学撰写,从搭建开发环境、状态管理、组件渲染、动画,到导航及手势,详尽介绍了 Android 平台新一代 UI 开发框架 Jetpack Compose 涵盖的所有技术内容。同时搭配两个项目实战,让读者能更具体地感受 Compose 在开发范式上的先进性,让更多的 Android 开发者感受其魅力,是学习 Jetpack Compose 的优秀工具书。

内容简介

Jetpack Compose是谷歌推出的全新Android UI开发框架,它采用更为先进的声明式开发思想,极大地提升了应用界面的开发效率。 Compose颠覆性的设计理念使得其学习曲线较为陡峭,因此本书对知识点进行了系统全面的整理和编排。全书共分11章,从写**行Hello World到实现一个全功能的产品级项目,帮助读者规划出了从入门到精通的学习路径。除了对知识点细致的讲解之外,书中还穿插了大量源码示例和实践,帮助读者及时巩固所学的内容,真正达到学以致用。 本书适合Jetpack Compose初学者阅读,同时书中的很多经验总结,对于已经有一定基础的开发者也同样具有参考价值。

目录

◆ 目录:◆

前言
第1章 全新的Android UI框架/
1.1Jetpack Compose是什么?/
1.1.1谷歌为什么要推出Compose?/
1.1.2命令式UI与声明式UI/
1.1.3Compose API设计原则/
1.1.4Compose与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.1Modifier修饰符/
2.1.1常用修饰符/
2.1.2作用域限定Modifier修饰符/
2.1.3Modifier实现原理/
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.3Spacer留白/
2.3.4ConstraintLayout约束布局/
2.3.5Scaffold脚手架/
2.4列表/
2.4.1Lazy Composables/
2.4.2LazyListScope作用域/
2.4.3内容填充/
2.5本章小结/
第3章 定制UI视图/
3.1构建UI页面/
3.1.1配置颜色、字体与形状/
3.1.2Welcome欢迎页/
3.1.3LoginIn登录页/
3.1.4Home主页/
3.1.5布局预览/
3.2主题/
3.2.1MaterialTheme介绍/
3.2.2理解MaterialTheme与
CompositionLocal/
3.2.3定制主题方案/
3.3本章小结/
第4章 状态管理与重组/
4.1状态管理/
4.1.1什么是状态?/
4.1.2单向数据流/
4.1.3Stateless与Stateful/
4.1.4状态的定义/
4.1.5状态上提/
4.1.6状态的持久化与恢复/
4.1.7使用ViewModel管理状态/
4.1.8LiveData、RxJava、Flow转State/
4.1.9状态的分层管理/
4.2重组与自动刷新/
4.2.1智能的重组/
4.2.2避免重组的“陷阱”/
4.2.3如何确定重组范围?/
4.2.4优化重组的性能/
4.3生命周期与副作用/
4.3.1Composable的生命周期/
4.3.2Composable的副作用/
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.1Layout Modifier/
5.2.2LayoutComposable/
5.2.3固有特性测量Intrinsic/
5.2.4SubcomposeLayout/
5.3绘制/
5.3.1Canvas Composable/
5.3.2DrawModifier/
5.3.3使用平台原生Canvas/
5.3.4实战:Canvas绘制波浪加载/
5.4本章小结/
第6章 让页面动起来:动画/
6.1动画分类/
6.2高级别动画API/
6.2.1AnimatedVisibiliy/
6.2.2AnimatedContent/
6.2.3Crossfade/
6.2.4Modifier.animateContentSize/
6.3低级别动画API/
6.3.1animate*AsState/
6.3.2Animatable/
6.4Transition过渡动画/
6.4.1updateTransition/
6.4.2rememberInfiniteTransition/
6.5AnimationSpec动画规格/
6.5.1spring弹跳动画/
6.5.2tween补间动画/
6.5.3keyframes关键帧动画/
6.5.4repeatable循环动画/
6.5.5infiniteRepeatable无限循环动画/
6.5.6snap快闪动画/
6.5.7使用Easing控制动画节奏/
6.6AnimationVector动画矢量值/
6.6.1TwoWayConverter/
6.6.2自定义实现TwoWayConverter/
6.7实战:Compose实现骨架屏的动画
效果/
6.7.1定义背景色/
6.7.2为Brush添加动画/
6.7.3实现骨架屏布局/
6.8实战:Compose实现收藏按钮动画
效果/
6.8.1实现方式1:高级别API
(AnimatedContent)/
6.8.2实现方式2:低级别API
(updateTransition)/
6.9本章小结/
第7章 增进交互体验:手势处理/
7.1常用的手势处理Modifier/
7.1.1Clickable点击/
7.1.2CombinedClickable复合点击/
7.1.3Draggable拖动/
7.1.4Swipeable滑动/
7.1.5Transformable多点触控/
7.1.6Scrollable滚动/
7.1.7NestedScroll嵌套滑动/
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.2Navigation for Compose/
8.1.3导航时携带参数/
8.1.4Navigation搭配底部导航栏/
8.1.5嵌套导航图Nested Navigation
Graph/
8.1.6导航DeepLinks/
8.1.7Navigation对ViewModel的
支持/
8.2在Compose中使用Hilt/
8.2.1认识Dagger Hilt/
8.2.2在Compose中使用Hilt/
8.3本章小结/
第9章 Accompanist与第三方组件库/
9.1Accompanist/
9.1.1SystemUiController/
9.1.2Pager/
9.1.3SwipeRefresh/
9.1.4Flow Layouts/
9.1.5Insets/
9.2Lottie/
9.2.1配置依赖/
9.2.2Lottie动画资源/
9.2.3创建Lottie动画/
9.3Coil/
9.3.1配置依赖/
9.3.2AsyncImage/
9.3.3SubcomposeAsyncImage/
9.3.4AsyncImagePainter/
9.4本章小结/
第10章 项目实战:小游戏Tetris/
10.1整体项目架构/
10.2砖块矩阵(BrickMatrix)/
10.2.1drawBrick绘制砖块单元/
10.2.2drawMatrix绘制砖块
矩阵/
10.3下落中的砖块(Sprite)/
10.3.1Shape砖块组合形状/
10.3.2Sprite定义下落砖块/
10.3.3drawSprite绘制下落砖块/
10.4游戏机体(GameBody)/
10.4.1GameButton/
10.4.2组装Button、发送Action/
10.4.3Clicable:分发事件/
10.5订阅游戏状态(ViewState)/
10.5.1ViewState/
10.5.2Action/
10.5.3reduce/
10.6预览游戏画面/
第11章 项目实战:聊天应用Chatty/
11.1整体系统架构/
11.2登录注册模块/
11.3IM聊天模块/
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适配暗黑主题/


展开全部

作者简介

王鹏,谷歌开发者专家(GDE),字节跳动移动端架构师,CSDN、掘金知名博主,GDG 社区特邀讲师,多次受邀在 Google DevFest、I/O Extended 等活动进行演讲,国内首批一批接触 Compose 的开发者,热衷于 Android Jetpack 新技术的实践与推广。 关振智, 北京邮电大学计算机系硕士,国内*早一批接触 Compose 的开发者,Jetpack Compose 中文技术社区核心成员。掘金优秀创作者, 谷歌开发者社区特邀嘉宾讲师,产出的大量技术内容在社区广受好评。热爱技术,乐于分享。 曾思淇,Jetpack Compose 中文技术社区主要维护者,开源技术爱好者,热衷于 Compose 相关技术的研究与推广,为社区贡献了大量 Compose 入门教程,基于 Compose 开发过多个独立 App。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航