注:此文写于 2015 年,文中部分链接可能已失效。资源推荐反映了当时的生态,许多内容已有更新版本,但核心的学习路径和方法论仍然有参考价值。
前言
谁无年少时。对于一门技术而言,大家的起点都是 Hello World。让人困惑的是,一年下来有些人的技术提升是 100%,有些人是 20%,有些人或许悲催地没有什么变化。是智商的原因吗?在我看来,可能是学习方法不对。
前几天结婚休假,我一直在写博客。找资料的过程中发现,单用百度效率太低,至少有一半的时间浪费在了无用页面上。我准备花几个晚上的时间整理收集的资料,尽可能保证在国内可以访问。以下列举初中级开发者的资料整合,至于高级——我大约还没有什么发言权。
Android 初学者
对于初级开发者,我更推荐先买一本基础书,泛泛浏览 Android 的基础知识点。市面上各种 Android 入门书其实都差不多,图灵的质量还算不错。上次图灵妹子 @图灵教育 送的这本 《Android 编程权威指南》,我自己买的 《Android 4 高级编程》,随便一本都行,放桌上没事翻翻。如果你英语尚可且能翻墙,直接看 Android API Guides 更好——大部分图书其实就是对这部分内容的翻译和扩展。
编程新手一定要多动手。我当初学习时把 eoe 实例区(链接可能已失效)的代码从头写了一遍——当然,这是夸张说法,隐约记得当时写了几百个例子。
当你能够写一些简单应用后,可以试着从别人的代码中读起。我当初就是从 对一个开源的课程表修复大量 Bug(链接可能已失效)开始的,一点点阅读,一点点修改,这样会有成就感,不容易放弃编程。
然后,你会慢慢发现能读懂大部分代码了。这时需要了解 Android 的设计规范:
- Material Design 中文翻译版(首次加载可能较慢,因为页面引用了 Google Fonts)
- 开始:Android 基本特征及界面的标准命名
- 风格:设计原则,对屏幕适配很有帮助——Icon 做多大、间距做多大、不同分辨率图片放哪个文件夹
- 模式:Android 各种元素的使用场景,比如通知适合什么场景使用
- 控件:基本控件的使用方式,如进度条和活动指示器作为耗时操作的信号
另一个重要的入门资源是 Google 官方培训课程的中文版:Android Training Course in Chinese
Android 中级开发者
到这个阶段,写一个一般的应用对你来说就像喝水一样,需要的只是时间,不再是技术。你可能熟练使用了大部分 Android API,会数据库操作、懂网络请求、能写自定义 View。这时可以通过博客来提升自己。
CSDN 博主推荐
| 博主 | 地址 | 特点 |
|---|---|---|
| Hongyang | blog.csdn.net/lmj623565791 | 在慕课网开课,写过很多实战教程 |
| 郭霖 | blog.csdn.net/guolin_blog | 《第一行代码》作者 |
| 任玉刚 | blog.csdn.net/singwhatiwanna | Apk 动态加载框架,百度手机卫士团队 |
| Mr.Simple | blog.csdn.net/bboyfeiyu | 源码分析系列,HTTP 框架教程 |
| AigeStudio | blog.csdn.net/aigestudio | 人称"爱哥",自定义 View 系列深度好文 |
| Android_Tutor | blog.csdn.net/android_tutor | 早期教程很详细 |
源码与示例
- 23CODE(链接可能已失效)—— 精彩示例,不定期更新
- APKBUS(链接可能已失效)—— 类似 iOS 的 code4app,示例集合
- 修炼源码(链接可能已失效)—— 个人站,精彩示例
- godcoder(链接可能已失效)—— 精彩示例
其他资源
- IBM DeveloperWorks Java 社区 —— 我在这里学会了 HashMap…
- stormzhang —— eoe 会员,当时在讲 Android Studio 的系列教程
- Google Android 官方培训课程中文版 (GitHub)
提问
- Stack Overflow —— 程序员的神器。简单问题在中文社区搜索即可,搞不定的请到 Stack Overflow
Android 高级开发者
到了这个阶段——好吧,我竟然没有太多可写的,逼格要 Low 掉了。
- Git:新时代的版本管理工具,互联网公司面试必修课
- Git Cheat Sheet 中文版
- Git 完全版教程(链接可能已失效)
- GitHub:面试敲门砖,热爱开源必备
- 陈皓 - 酷壳 —— 很多有意思的技术话题和思考
- 罗升阳 —— Android 源码分析深度较大,适合对原理有兴趣的同学
- 码农周刊分类整理 —— 按语言和技术分类
- Android 开源项目汇总 —— 来自 Trinea 的整理
- 《程序员编程艺术:面试和算法心得》
- Awesome Android UI —— Android UI/UX 库精选
装备建议
我建议非 .NET 开发的程序员最好使用 Mac,可以关注一下 池建强的 Mac 教程。Mac 的最大优势:
- 原生命令行环境
- 各种工具类软件齐全
- 环境配置简单,可以顺手写写 iOS
- 关键是电力——9 小时的续航(2015 年标准)
对于 IDE,2015 年大部分公司还在用 Eclipse + JDK 1.6。我个人更推荐 Android Studio + JDK 1.8——这是趋势。如今 Android Studio 已成为官方标准,Eclipse 已不再推荐使用。
备注
以上资源均在发布时经过验证。转发时无需注明出处,我发这个帖子的目的就是帮助每个 Android 开发者。整理了差不多一个下午,希望对你有所帮助。
另外,希望搬运工们尊重以上博主的劳动成果,自己努力之后哪怕是分享一个简单的 Activity,那也有自己的骄傲。谢谢。