展开全部

主编推荐语

Jetpack Compose安卓应用程序开发教程,Google力推的Android UI构建工具,从入门讲解如何开发Compose完整项目。

内容简介

Jetpack Compose是Google官方推出的用于构建原生界面的现代Android工具包,能够帮助开发者用更少的代码实现更多功能,轻松地构建精美且易于维护的高性能应用程序。

本书系统、细致地讲解了Compose,“手把手”教开发者如何在实际项目中使用Compose。

首先介绍了如何搭建Compose的开发环境,以及编写第一个Hello World程序,然后介绍了Compose的各类简单或复杂的控件、布局、视图,接着介绍了Compose中的动画和手势操作以及如何与其他Jetpack库搭配使用,最后带领读者从头到尾完整地开发一个简单的项目。

目录

  • 版权信息
  • 前言
  • 第1章 先做好准备工作
  • 1.1 Compose简介
  • 1.2 搭建开发环境
  • 1.2.1 在Windows上搭建开发环境
  • 1.2.2 在macOS上搭建开发环境
  • 1.2.3 将Compose添加到现有项目
  • 1.3 温习Kotlin
  • 1.3.1 默认参数
  • 1.3.2 高阶函数
  • 1.3.3 解构数据类
  • 1.4 小结
  • 第2章 开启Compose旅程
  • 2.1 创建第一个Compose应用程序
  • 2.1.1 创建Hello World
  • 2.1.2 运行项目
  • 2.1.3 分析第一个Compose应用程序
  • 2.1.4 使用Preview
  • 2.2 Compose编程思想
  • 2.2.1 声明式编程
  • 2.2.2 可组合函数
  • 2.2.3 重组
  • 2.3 智能重组
  • 2.3.1 控件按任何顺序运行
  • 2.3.2 控件并行运行
  • 2.3.3 重组会跳过尽可能多的内容
  • 2.3.4 重组是乐观的操作
  • 2.4 Compose状态
  • 2.4.1 Compose中的状态
  • 2.4.2 ViewModel和状态
  • 2.4.3 使用其他类型的状态
  • 2.5 Compose生命周期
  • 2.5.1 可组合项的生命周期
  • 2.5.2 状态和效应用例
  • 2.5.3 重启效应
  • 2.6 小结
  • 第3章 使用Compose的简单控件
  • 3.1 Compose中的主题
  • 3.1.1 主题设置
  • 3.1.2 颜色设置
  • 3.1.3 字体设置
  • 3.1.4 形状设置
  • 3.2 Compose中的“TextView”
  • 3.2.1 显示文字
  • 3.2.2 设置文字样式
  • 3.2.3 设置文字选择
  • 3.3 Compose中的“EditText”
  • 3.3.1 输入和修改文字
  • 3.3.2 显示样式
  • 3.3.3 键盘选项
  • 3.4 Compose中的“Button”
  • 3.4.1 创建Button
  • 3.4.2 Button源码解析
  • 3.5 Compose中的“ImageView”
  • 3.5.1 简单显示
  • 3.5.2 设置图片样式
  • 3.5.3 显示网络图片
  • 3.6 Compose中的“ProgressBar”
  • 3.6.1 使用圆形进度条
  • 3.6.2 使用条形进度条
  • 3.7 小结
  • 第4章 了解Compose的布局
  • 4.1 竖向线性布局
  • 4.1.1 Android View中的竖向线性布局
  • 4.1.2 Compose中的竖向线性布局
  • 4.1.3 Column源码解析
  • 4.2 横向线性布局
  • 4.2.1 简单上手
  • 4.2.2 Row源码解析
  • 4.3 帧布局
  • 4.3.1 Box源码解析
  • 4.3.2 Box简单上手
  • 4.4 修饰符
  • 4.4.1 内边距padding
  • 4.4.2 设置控件的尺寸
  • 4.4.3 Row和Column中的weight修饰符
  • 4.4.4 给控件添加点击事件
  • 4.4.5 给控件添加圆角
  • 4.5 脚手架
  • 4.5.1 简单了解Scaffold
  • 4.5.2 Scaffold抽屉实现
  • 4.6 约束布局
  • 4.7 小结
  • 第5章 尝试Compose的复杂控件
  • 5.1 竖向列表LazyColumn
  • 5.1.1 简单使用
  • 5.1.2 LazyListScope
  • 5.1.3 使用多Type
  • 5.1.4 黏性标题
  • 5.1.5 回到顶部
  • 5.2 横向列表LazyRow
  • 5.2.1 简单使用
  • 5.2.2 LazyRow源码解析
  • 5.2.3 使用项键Key
  • 5.3 网格列表LazyVerticalGrid
  • 5.3.1 简单使用
  • 5.3.2 LazyVerticalGrid源码解析
  • 5.4 底部导航栏
  • 5.4.1 简单使用
  • 5.4.2 BottomNavigation源码解析
  • 5.5 小结
  • 第6章 尝试Compose的自定义View
  • 6.1 简单认识Compose中的Canvas
  • 6.1.1 Android View中的Canvas
  • 6.1.2 Compose中的Canvas
  • 6.2 使用Canvas绘制点
  • 6.2.1 绘制点必须填写的参数
  • 6.2.2 绘制点可选的参数
  • 6.2.3 使用Brush绘制渐变
  • 6.3 使用Canvas绘制线和矩形
  • 6.3.1 绘制线
  • 6.3.2 绘制矩形
  • 6.3.3 绘制圆角矩形
  • 6.4 使用Canvas绘制圆及椭圆
  • 6.4.1 绘制圆
  • 6.4.2 绘制椭圆
  • 6.5 使用Canvas绘制圆弧、图片及路径
  • 6.5.1 绘制圆弧
  • 6.5.2 绘制图片
  • 6.5.3 绘制路径
  • 6.6 使用混合模式
  • 6.6.1 Android View中的混合模式
  • 6.6.2 Compose中的混合模式
  • 6.7 小结
  • 第7章 动画的点点滴滴
  • 7.1 简单使用动画
  • 7.1.1 可见性动画
  • 7.1.2 布局大小动画
  • 7.1.3 布局切换动画
  • 7.2 低级别动画
  • 7.2.1 属性动画
  • 7.2.2 帧动画
  • 7.2.3 多动画同步
  • 7.2.4 多动画重复
  • 7.3 自定义动画
  • 7.3.1 动画规格——AnimationSpec
  • 7.3.2 矢量动画——AnimationVector
  • 7.4 手势
  • 7.4.1 点击事件
  • 7.4.2 滚动事件
  • 7.4.3 嵌套滚动
  • 7.4.4 拖动事件
  • 7.4.5 滑动事件
  • 7.5 小结
  • 第8章 和其他Jetpack库搭配使用
  • 8.1 使用ViewModel
  • 8.1.1 ViewModel的简单使用
  • 8.1.2 在Compose中使用ViewModel
  • 8.1.3 Compose中ViewModel的进阶使用
  • 8.2 使用数据流
  • 8.2.1 Flow的使用
  • 8.2.2 RxJava的使用
  • 8.3 使用Navigation实现页面跳转
  • 8.3.1 简单使用
  • 8.3.2 传递单个参数
  • 8.3.3 传递多个参数
  • 8.3.4 解析参数类型
  • 8.3.5 添加可选参数
  • 8.3.6 添加实体类参数
  • 8.4 使用Jetpack中的其他库
  • 8.4.1 使用Hilt进行依赖注入
  • 8.4.2 使用Paging进行列表加载
  • 8.5 小结
  • 第9章 和老代码搭配使用
  • 9.1 在Compose中使用Android View
  • 9.1.1 简单控件的使用
  • 9.1.2 复杂控件的使用
  • 9.1.3 嵌入XML布局
  • 9.2 在Android View中使用Compose
  • 9.2.1 在代码中使用
  • 9.2.2 在布局中使用
  • 9.3 Compose与现有页面集成
  • 9.3.1 创建Android View和Compose中通用的控件
  • 9.3.2 Compose中的屏幕适配
  • 9.4 小结
  • 第10章 Compose实战
  • 10.1 搭建项目框架
  • 10.1.1 创建项目
  • 10.1.2 搭建项目架构
  • 10.1.3 使用Navigation处理页面跳转
  • 10.1.4 使用BottomNavigation创建主页框架
  • 10.2 实现项目首页
  • 10.2.1 实现首页逻辑层
  • 10.2.2 实现首页UI层
  • 10.3 实现项目页面
  • 10.3.1 实现项目页面的逻辑层
  • 10.3.2 实现项目页面的UI层
  • 10.4实现其他页面
  • 10.4.1实现文章详情页面
  • 10.4.2实现我的页面
  • 10.5小结
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    4.0
    代码缺少上下文

    如下配置:android {    ...    viewBinding {        enabled = true   }    ...} 配置完成后,系统会为该模块中的每个 XML 布局文件生成一个绑定类,这个绑定类的命名就是 XML 文件的名称转换为驼峰式,并在末尾添加 “Binding” 一词。以 activity_main.xml 布局为例,系统自动生成的绑定类名称为 ActivityMainBinding。绑定类可以直接引用布局内所有具有 id 的视图。不熟悉 jetpack 的同学会头晕

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。