概要

接触 Java 及 Android 有16个月了,现在的水平自我评估为中级吧,期间都是自学,梳理总结下经验,希望对还在学安卓的同学有所帮助。(ps.这段话还是创建这篇文章时写的,15年3月接触Android,到现在的话已经有两年了,不过我现在在学Unity。Unity的开发模式其实和Android/iOS的UI开发很像。我时常也会上Github看下Android的趋势榜,感叹如今的个人开源App UI做得真是赞,16年初企业用得比较少的RxJava + Retrofit + MVP如今早已成为标配)。

本文按学习阶段划分,根据不同阶段推荐资料书、技术博客、开源项目、技术社区、第三方库等。
每个阶段推荐的内容少但力求精,如果你想看大而全的推荐,那么请移步这篇博文Android 学习资料收集。
另外,此文将不定期更新,力求与时俱进,欢迎收藏 : )

入门

Android入门门槛不低,首先得懂点Java,如果你对Java不了解,那么我建议你看看这本书:
《Head First Java》
Head First 系列是我见过最好的入门书,虽然不算薄,但是语言风趣幽默、图文结合,看起来非常快。

然后,你可以跟着这本书学习:
《Android编程权威指南》第二版出来啦!
看过第一版,非常地规范简洁(许多国内的安卓入门书只知道照搬Java而根本不懂得Android规范)。

跟着书本学习遇到坑会很麻烦,而在知识概要地图还没形成之前,网上找答案都很难,因为压根不知道搜什么,所以可以适当看下视频。网络教学接触不多,这里推荐的是极客学院的
Android开发知识体系图
虽然有些地方不太规范,但是快速入门妥妥的。对于视频教学,我建议的学习方式先常规速度看一节视频,然后再看第二次,边看边跟着做,跟不上就暂停。

对了,编辑器当然是Android Studio.

新手

在这个阶段,你需要的是练习、解决报错、会几个常用的第三方库。
作为一名Android开发者,你要保证电脑一定能连得上Google。
如果连不上,花几块钱买个VPN: 通用 SS(即影梭,软件是开源的,有很多商家卖VPN。 自从我上次买的那家被封之后我就不知道了。), Mac 鱼摆摆(这个很稳定,但是只能在Mac下用,这让我好久没上Google Play了)。

下面几个网站你应该经常光顾:
慕课网慕课网新的教程还可以,前面入门的就算了,还在用Eclipse。
Gank 每日一看;

Google 遇到Bug或找答案时;
GitHub Trending 每日必看(强烈推荐!!!)
Android官方教程

下面几个库你应该学会使用:
FastJSON
Fresco 或者 Picasso (Picasso的Api要友善很多,包也小一些,不过功能稍弱于Fresco)
OkHttp

你还应该装上这几个插件,用于偷懒以便有更多时间学习:
1.Android ButterKnife Zelezny
2.GsonFormat
3.Android Material Design Icon Generator
可以看看我这篇文 Android工具 - 偷工不减料

你可以通过这几个开源项目来学习:
积木
专栏
妹纸 看不懂不要紧,慢慢来,学习大神的封装与规范;
Now 无耻地推荐了自己的项目(´・ω・`)
(ps.虽然才过了半年多一点,不过感觉这些项目可能都过时了,看一下项目的更新日期,半年没更新的项目不用去跟着学。每天坚持上Github Trending,发现新宝库)。

进阶

对于进阶者来说,这本书非常值得一看:
《Android开发艺术探索》
内容全面,原理讲得很清晰,强烈推荐。偷偷告诉你: 面试官问的题目这上面几乎都有。

下面几个框架库之类的我就不附带链接了,到这个层级应该都听说过:
RxJava & RxAndroid 推荐这篇博客 给 Android 开发者的 RxJava 详解
Retrofit
MVP架构
Dagger(这个选学)

推荐学习的开源项目:
Android Boilerplate
SimplifyReader
这里直接每天上Trending榜看吧,现在Github上多了很多优秀的个人App开源项目,像类似网易云音乐、bilibili等这些优秀app的仿制版在Github都能找到。

ps.
GitHub Trending 照旧

尾声

关注喜欢一起来吧~ (ヽ´ω`) ~

更多相关文章

  1. 高级Android开发进阶之路,你需要掌握的几个关键技术!
  2. 如何把android项目部署到真实手机上测试
  3. android studio打开旧项目遇到build.gradle相关的问题解决方法
  4. 开源项目Universal Image Loader for Android
  5. Android 事件总线OTTO用法快速入门
  6. 使 Android 项目支持 Java 8 lambdas 表达式
  7. Android开源项目分享
  8. 往Android Studio中导入项目时遇到Installation failed with mes
  9. 新建arcgis api for android 项目失败

随机推荐

  1. Android位图操作
  2. [笨木头Cocos2dx045]让输入框在Android上
  3. Android安全机制介绍
  4. 用U盘安装Android系统在PC x86平台上运行
  5. rdp文件和vnc软件
  6. androidのPULL方式解析XML
  7. android消息机制总结
  8. Android中触摸事件传递机制
  9. 杭州_大雲架構師_培訓課程
  10. Android串口通信