前言
为什么要写这本书
虽然我长期在CSDN上输出技术文章,也获得了不错的反响,但之前从来没有想过要写一本书,因为我知道写书是一件比写博客困难许多的事情。
技术交流群中许多读者问过我有没有比较系统的Jetpack学习资料可以推荐,我的回答一直都是官方文档。当我通过官方文档学习Jetpack的时候,发现里面往往都是比较简单的小例子,许多读者看完之后依旧不清楚Jetpack组件该如何使用。目前国内外讲解Jetpack的书籍寥寥无几,博客中讲解的知识点又比较零散,导致读者无法将Jetpack与真实的项目结合起来使用。
一次偶然的机会,机械工业出版社华章分社的编辑Lisa联系到我,问我是否有兴趣出版一本关于Jetpack的书籍,这着实让我受宠若惊。再基于上述原因,我坚定了写一本关于Jetpack图书的决心,于是,本书诞生了。
读者对象
本书适合已有Android开发基础并想要学习或者已经使用Jetpack开发的读者。全书代码使用Kotlin编写,所以需要读者有一定的Kotlin基础,即使没有Kotlin基础也没有太大关系,从这本书开始一起学习吧!
如何阅读本书
全书共12章,第1章介绍Jetpack的基本知识,主要包括Android开发架构的发展历程和如何构建支持Jetpack的项目。介绍完基本知识之后,第2章到第10章详细介绍架构组件的基本使用和在实际项目中可能遇到的一些问题,其中主要包括Lifecycle、ViewModel、LiveData、ViewBinding、DataBinding、Room、Hilt等基础架构组件,通过切合实际的需求用例循序渐进地讲解每个组件的使用方法和使用场景。除此之外还讲解了当下最流行的Kotlin协程和Flow相关知识,让读者了解如何使用这些技术结合Jetpack组件写出更加优雅的代码。学习完前面的基础知识后,第11章通过实战项目“健康出行App”演示如何搭建组件化结构的项目,并且将上述理论转化为实际成果。第12章作为扩展内容讲解了最新的响应式UI编程技术——Jetpack Compose。
读者可以根据自身情况来决定如何阅读本书。如果你是初学者,建议从第1章开始循序渐进地阅读,这样不会太吃力。如果你已经熟悉Jetpack的部分组件,可直接选择感兴趣的章节阅读,每个章节后面的原理小课堂也一定不要错过。
勘误和支持
由于作者的水平有限,编写的时间也很仓促,加之技术在不断更新和迭代,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。读者可以通过以下方式提供反馈。
- 关注微信公众号“Android技术圈”,回复“勘误”,在收到消息的页面评论、留言。
- 通过我的博客(https://huanglinqing.blog.csdn.net)评论、留言。
我会在收到信息后及时回复,对于一些反馈较多或重要的问题,我会通过公众号和博客集中回复。
书中的全部源文件除可以从华章网站(www.hzbook.com)的本书页面下载外,也可以从https://github.com/huanglinqing123下载。我会根据相应的功能同步更新代码。如果你有更多的宝贵意见,欢迎发送邮件至邮箱huanglinqing6@gmail.com,期待你的反馈。
致谢
感谢我的妻子任丽君,她在我迷茫时开导我,支持和鼓励我写作。也感谢她对家庭的付出,让我有更多的时间来完成书稿。
感谢我的好友郭国阳、李武,他们在整个写作过程中提出了宝贵意见与技术勘误。感谢养老研发移动端组与我并肩作战的同事们,团队良好的技术氛围为新技术的探索提供了有力的支持。
感谢机械工业出版社华章分社的编辑Lisa,感谢她的魄力和远见,并且在这半年多的时间中始终支持我的写作,她的鼓励和帮助引导我顺利完成全部书稿。
最后我一定要感谢我的父母、老师,他们将我培养成人,并时时刻刻给我信心和力量!
谨以此书,献给所有Android开发者。
黄林晴
中国,合肥,2021年12月