​第一本 Compose 图书上市,联想大咖教你学会 Android 全新 UI 编程

2023-11-20

朱江 | 现任联想(北京)有限公司 Android 开发工程师,从事 Android 开发工作多年,有丰富的项目经验,负责和参与开发过多款移动应用程序,同时还是多个开源项目的作者。2017 年开始在 CSDN 发表 Android 技术相关博文,得到了大量网友的认可,荣获 CSDN 认证博客专家,在 2020 年 “CSDN 博客之星评选活动”中进入全网前 50 名。公众号是“江江安卓”。

从 2008 年 10 月,第一部 Android 智能手机发布到现在,Android 已经走过了十余年的历程。从最开始任何框架都没有,做一款应用程序基本需要全部手写代码,到现在各种框架“满天飞”,Android 已形成一套完整的开发体系。而后 Google 官方又推出了 Jetpack 帮助开发者开发 Android 应用程序。Jetpack 是一个由多个库组成的套件,可以帮助开发者遵循最佳做法,减少开发中的样板代码,让开发者能够集中精力编写更重要的代码。而 Compose 正是 Jetpack 的一部分。

5a1b488edca9561297ea7ef5188b2b7e.png

写作缘由

2019 年 5 月,Google 在 I/O 大会上公布了 Android 全新的 UI 系统 Compose,但是直到 2020 年 9 月才发布了第一个 Alpha 版本,此后在各大技术网站移动开发模块中,有很多人开始尝试使用 Compose 编写Android UI。2021 年 2 月,Google 终于发布了第一个 Beta 版本。2021 年 7 月 28 日,正式版终于发布。

Compose 发布之后,各大技术网站迎来了新春,Compose 的文章铺天盖地,但相关文章碎片化严重,无法进行系统的学习。想到很多开发者应该有和我一样的困惑,而且 Compose 又极为重要,未来的 Android 开发肯定离不开 Compose,所以我就想着写一本书来帮助广大开发者快速入门 Compose 并能够实际使用。

我长期在 CSDN 和掘金等技术网站上发表技术文章,而且得到了大量开发者的认可,还被 CSDN 评为了博客专家,这几年中撰写了上百篇技术文章,本以为自己的写作经验已经足够,写一本书应该不是什么难事,但真正动笔才发现其中的艰辛。平时写博客的时候可以随心所欲地写,想到哪里写哪里,哪里理解深刻写哪里,但写书和写博客很不一样,写书需要从头到尾系统地进行讲解,而且逻辑需要更加缜密,一些细节必须考虑周全。

终于经过我和编辑的共同努力,这本《Jetpack Compose:Android全新UI编程》于 2021 年 11 月正式出版。 

64294fe9756e7ce3a2083f413febdf73.png

好,那现在我们来了解一下这本书——

b18e9d867e9dafc9f6debcc8894206a7.png

821058da605ca77336097cca9a0e4787.png

f8e4bb204c6c1454d94d58d1a3da95a6.png

01

本书简介

Jetpack Compose 是 Google 官方推出的用于构建原生界面的现代Android 工具包,能够帮助开发者用更少的代码实现更多功能,轻松高效地构建精美且易于维护的高性能应用程序。本书系统、细致地讲解了Compose,“手把手”教开发者如何在实际项目中使用 Compose。首先介绍了如何搭建 Compose 的开发环境,以及编写第一个 Hello World 程序,然后介绍了 Compose 的各类简单或复杂的控件、布局、视图,接着介绍了 Compose 中的动画和手势操作以及如何与其他 Jetpack 库搭配使用,最后带领读者从头到尾完整地开发一个简单的项目。

02

各章内容

本书一共分为 10 章,归纳如下。

第 1 章介绍 Compose 的优点以及搭建开发 Compose 的环境,兼顾了 Windows 和 Mac 平台,然后回顾 Compose 中用到的 Kotlin 知识。

第 2 章创建并解释第一个 Compose 应用程序,然后详细介绍 Compose 的编程思想。本章内容比较难懂,大家可以先看后面的章节,之后翻回来看会有更大的收获。

第 3 章介绍 Compose 中的一些简单控件,比如 Text、Button、Image 等,内容比较简单。

第 4 章介绍 Compose 中的布局。Compose 中的布局和 Android View 中的布局基本对应,包括线性布局、帧布局、约束布局等。本章内容比较重要,学好布局方式才能更加轻松地应对实际工作中的各种场景。

第 5 章介绍 Compose 中的一些复杂控件,比如 LazyColumn 相当于 Android View 中的 RecyclerView。学会本章内容,我们就可以使用 Compose 进行一些简单的开发了。

第 6 章介绍 Compose 中的自定义 View。在 Android View 中自定义 View 并不简单,但 Compose 帮我们做好了封装,使得自定义 View 变得不再困难。学会本章内容,就可以绘制一些常用的自定义 View 了。

第 7 章介绍 Compose 中的动画和手势操作。Compose 对此做好了封装,使我们可以更加简单地使用动画和手势。

第 8 章介绍 Compose 和其他 Jetpack 库的搭配使用,包括我们熟悉的 LiveData、ViewModel、Navigation 等。

第 9 章介绍 Compose 如何在之前的项目中使用,在 Compose 中如何使用 Android View,以及在 Compose 中如何进行屏幕适配。

第 10 章带大家从头到尾完整地开发一个简单的项目,其中用到了之前章节中讲到的大部分内容,可以帮助大家加深对 Compose 的理解。

本书思维导图如下: 

773726a706d429082c2437bd920ba3cb.png

03

大咖推荐

目前 Compose 相关知识较为分散,缺乏系统性,这本书循序渐进地讲解了 Compose 的相关知识点,并最终以项目的形式带大家实践,我相信可以帮助你快速入门 Compose。

——张鸿洋,wanandroid 网站站长

从 Google 官方对 Compose 的重视,就可以知道它是 Android UI 的未来。对于开发者来说,提早学习新技术,将有效提升自己在市场上的竞争力,让职业生涯更宽广。朱老师的这本书有效地解决了网上学习材料碎片化的问题,系统化地从控件、布局、动画、手势等方面逐一切入,并搭配完整的项目示例,带领大家提升实战能力,加深对 Compose 的理解。不论你是刚学习 Kotlin,或是已有 Android 开发经验,我相信这本书都是你进入 Compose 世界的可靠助力。

——范圣佑,JetBrains 技术布道师

Compose 可以让你用更少的代码实现更多的功能,使用它,Android UI 开发再也不烦琐了。这本书可以帮助读者快速学习 Compose,值得一读。

——任玉刚,《Android开发艺术探索》作者

04

配套代码

请前往图灵社区本书页面 https://www.ituring.com.cn/book/2979 “随书下载”获取。

7bc7c04062be8e3df33e6ab99735a603.png

05

赠书福利

Jetpack Compose 是 Google 官方推出的用于构建原生界面的现代 Android 工具包,能够帮助开发者用更少的代码实现更多功能,轻松高效地构建精美且易于维护的高性能应用程序。你在使用 Compose 的过程中遇到过什么问题?或者你打算什么时候开始使用 Compose?

聊聊你的故事、经验、问题。在留言的读者,点赞数第 1 位的读者可获得《Jetpack Compose:Android全新UI编程》纸书 1 本;另外随机挑选 2 位读者各赠送一本。截止日期:11 月 22 日 12:00。

☟☟☟ 详情见下方“阅读原文”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

​第一本 Compose 图书上市,联想大咖教你学会 Android 全新 UI 编程 的相关文章

随机推荐

  • 数据库概论笔记第五章(ER模型)

    E R模型 1 建立模型 数据库可以被定义为实体的集合和实体间的关系 实体集 相同类型的实体的集合 属性类型 实体集都拥有的描述性的属性 域domain 每个属性允许值的集合 简单simple属性 不可分割的属性 复合composite属性
  • sqlServer将一个表中的字段更新到另一个表中

    将表2 中 evaluate 字段更新到表1 UPDATE dbo 表1 SET evaluate c evaluate FROM dbo 表2 c dbo 表1 i WHERE c id i indexId
  • vue 权限按钮显示隐藏 (组件法)

    咱们做后台管理系统 肯定避免不了 权限菜单 权限按钮的显示与隐藏 我分享一下 我的实现 创建一个权限显示隐藏的公共组件
  • Android TabLayout设置选中状态标题字体大小,粗细

    最全Tablayout详解https blog csdn net yechaoa article details 122270969 布局文件
  • 分享5个免费、高清、无版权视频素材网站,果断收藏!

    现在各种短视频和自媒体是越来越火了 创作者们对于自己作品的版权也愈发重视 稍不留神你的视频可能就侵权了 例如使用 未经授权的视频素材 都是会涉及到侵权的 其实现在有很多无版权的视频素材网站 可以满足大家一定的创作需求 下面给大家分享5个免费
  • 前端vue实现分页功能

    前端Vue实现分页功能 我们都知道在spring boot项目中安装pagehelper可以实现分页功能 但是在vue中也能在前端实现分页 1 首先 在data中定义以下变量 data return list null listLoadin
  • 【spring aop】连接点(Jointpoint)、切入点(Pointcut)、增强(Advice)、方面/切面(Aspect、Advisor)

    文章目录 前言 1 先来回顾一下AOP中的一些术语 2 增强方式简介 2 1 MethodBeforeAdvice前置增强 2 2 AfterReturningAdvice后置增强 2 3 ThrowsAdvice异常增强 2 4 Meth
  • Unity3d Terrain地形制作系列(一)

    游戏简单地形 地形制作 地形制作 第一步在场景里加载一个地形对象 第二步 我们在属性面板里找到绘制地形 然后选择Set Height 绘制高度 应该我们要制作低凹的效果 所有先让他有个高度 不然是不能实现低凹的效果 如图 我们然后选择绘制地
  • Node.js安装及环境配置(简单易懂全面!)

    参考 https www cnblogs com liuqiyun p 8133904 html https www jianshu com p 13f45e24b1de 目录 一 安装环境 二 安装Node js步骤 三 前期准备 四 开
  • 球迷 如何在Linux纯命令行玩转谷歌浏览器,边看欧洲杯,边看足球宝贝

    大家好 我是Lex 喜欢欺负超人那个Lex 擅长领域 python开发 网络安全渗透 Windows域控Exchange架构 今日重点 1 Linux骚操作 纯命令行玩转GoogleChrome浏览器 2 在Linux命令行打开足球宝贝的搜
  • stm32f103中断函数配置

    一 配置中断优先级NVIC 1 初始化中断结构体在misc h中找到 NVIC InitTypeDef 这个结构体并定义 2 中断优先级分组 在misc c文件里找到 void NVIC PriorityGroupConfig uint32
  • U-Boot启动过程完全分析

    1 1 U Boot工作过程 U Boot启动内核的过程可以分为两个阶段 两个阶段的功能如下 1 第一阶段的功能 硬件设备初始化 加载U Boot第二阶段代码到RAM空间 设置好栈 跳转到第二阶段代码入口 2 第二阶段的功能 初始化本阶段使
  • AE/VAE/DDPM

    Docshttps laiye tech feishu cn docx XRKldiRcZoMDomxwrKtcWD8EnQb基于Diffusion的典型可控图片生成模型在上文扩散模型原理的基础上 本文对目前最前沿的几个可控图像生成模型如D
  • PostgreSQL的AWR(PG_PROFILE)

    PostgreSQL参数配置 如下配置为使用pg profile最基本的配置 shared preload libraries pg stat statements pg stat statements max 10000 pg stat
  • 一个人录制课程--全网独一

    获取方式 见文末 共计八章节 1 php编程 2 web安全基础 3 中间人攻击与抓包 4 正反向代理与端口转发5 提权 6 内网 7 实战8工具 1 PHP编程 1 讲师介绍 http协议 挖掘BUG mp4 2 搭建apache php
  • 贝叶斯网络的python实现:Monty Hall问题的求解

    前两节分别介绍了贝叶斯图模型的必要性以及贝叶斯网络的基本原理 本节将通过一个简单的问题介绍贝叶斯网络的python实现 三门问题 Monty Hall problem 亦称为蒙提霍尔问题 蒙特霍问题或蒙提霍尔悖论 是电视节目中一个简单的游戏
  • Spring Bean的三种注入方式

    Spring Bean的三种注入方式 setter 方法 属性 注入 构造方法注入 注解注入 Resource和 Autowired 自动装配 Autowired 和 Resource Autowired Spring提供的注解 byTyp
  • SQL语言---视图操作

    文章目录 前言 一 视图 1 什么是视图 2 建立视图 3 删除视图 二 定义视图 1 建立视图 1 语法格式 2 举例讲解 例子1 建立房间视图 例子2 基于多表建立视图 例子3 基于视图建立视图 例子4 基于表达式的视图 2 删除视图
  • SpringBoot实现前端传入数值Controller层接收为枚举

    定义枚举 import com fasterxml jackson annotation JsonCreator import com fasterxml jackson annotation JsonFormat import lombo
  • ​第一本 Compose 图书上市,联想大咖教你学会 Android 全新 UI 编程

    朱江 现任联想 北京 有限公司 Android 开发工程师 从事 Android 开发工作多年 有丰富的项目经验 负责和参与开发过多款移动应用程序 同时还是多个开源项目的作者 2017 年开始在 CSDN 发表 Android 技术相关博文