Android 开发初学:多读多看多写

前段时间收到了明发哥翻译的《Android 编程权威指南》第四版,许久没有打开纸质书,但翻阅时的纸墨味儿依旧,仿佛回到了几年前初学 xml 布局的时候。

我从大一暑假开始自学 Java,随后买了本不记得名的 Android 开发入门图书,学习 Android UI、交互、数据 CRUD 等等。2014 年初,正好碰上一位海归的新老师授课 Android 开发,学的 O’Reilly 的动物书《Learning Android》。全英授课,加上教材编排的顺序和我自学一半的内容不太接的上,上课多数是自己坐后排默默敲代码。好在几次实践课和期末大作业我都完成的不错,并且用的 Android Studio beta 版(还没 1.0)给老师留下了一些印象。作为一个新手开发一些自己的作品时,还偶尔会去询问那位老师,她尽管不一定碰过,但也能回一些 StackOverflow 的链接参考给我。

那个暑假以及之后的两年,我有幸在一个外校研究生实验室参与项目实战,并在学长们的推荐下加入了一个在校技术团队。大量的实战经历对初学者的进步起到了明显的作用,很快我就从查书变成查 Github、StackOverflow,找一些更新更实用的东西。当时看到《第一行代码》出版,觉得相见恨晚,推荐给了技术团队的成员,当作新人入门的教材。

工作多年,也读过几本优秀的进阶书籍,但没想到再一次聊起入门书籍的话题,是发生在出国工作后。Code Coverage 的考量,CI/CD 的实现和扩展,不同维度的测试手段,依赖注入等在工作和面试中碰到的问题,让我又找回当初困惑期的体验。我一边啃着 Google 的优秀项目实践案例,一边回想之前看过的书,发现一是自学的书里面其实没有太多相关的部分,二是有这些内容的书例如《Learning Android》也可能被我跳过,或因为快猛糙的实战中使用较少而遗忘。

学习的本质如此:我们既需要快猛糙的“速食”解决眼前问题,也要系统地、长期地查缺补漏,完善对一个领域的理解。如果有机会,最佳的办法当然是在一开始就“愚笨”地完成每一个章节的阅读和练习,而不跳过你觉得“用不到”的基础知识。回头看,我认为没有一本书入门书籍或者在线教程可以完整 Cover 目前复杂的 Android 工程化流程以及常见需求,但是多读多看可以很大程度上解决我们的困惑。举个例子,先看《Android 编程权威指南(第四版)》可以 Cover 大量 Android 开发基础概念和细致的讲解,包含 UI/存储/网络/测试(包括依赖解耦注入)/无障碍/本地化等;再看《第一行代码(第三版)》,有更实用化的角度去增强初学者对常用控件/SDK 的组合,节奏逐步加快;最后可以借助 Android 官方最新的 Demo App 进一步巩固。没有人规定初学者应该只看一本书,也因为不存在完美的“入门图书”,所以结合多本图书、官方 Sample/Tutorial 的系统学习,加上大量的练习我觉得才能真正地完成“入门”。

编程和写作有些许相似,阅读和见识是关键的一环。学涵柏老师的写作课时,他总结了几个经验:

Android 初学者可以活用借鉴:

回到《Android 编程权威指南(第四版)》,年初时图灵的编辑英子问我有没有兴趣为它写推荐语,第一次听到时确实有点慌。不过在我拿到书稿花了几天阅读后,发现了它的几个重要特点:

没有告诉明发哥的是,我第一次“认识”他是在 2019 年 8 月,《Kotlin 权威编程指南》首发的时候。当时我刚刚在自己的项目中尝试 Kotlin,马上入职的新工作也都是 Kotlin Base 的项目;而网络上的入门教程有些零散,我看到图灵上线一本新的 Kotlin 图书包含了不少详细的 Sample,立马下了单。

是好书,把我们联系在一起。

欢迎关注我的公众号和微博

· Android, 阅读分享