如果你现在学Android

写给想现在学习Android的朋友

Posted by 晓晨DEV的技术博客 on May 8, 2015

虽然现在网上有不少Android的教程,不过现在Android的发展已经到了5.1,很多之前的开发教程和学习建议已经不是很适用,决定以自己的见解写一篇Android学习的教程,如果大家有什么好的意见或建可以评论给我。

工欲善其事,必先利其器

虽然Android开发的门槛比较低,但是有件得心应手的兵器还是很有必要的。

  • 开发设备 : Mac (作为开发者,我认为入手一台mac还是很有必要的,推荐还是mac pro,这种设备真的是早用早享受,如果你是学生党那么这真的是你对自己非常好的投资,如果你不是,那么我相信你是买得起的,购买渠道就不详细说了,港货确实能省一笔钱,官网分期无利息也是挺好的。如果你确定不购买的话,那么Linux开发也是比在Win下开发好一些的)

  • 调试设备 : 真机 (推荐使用真机调试,速度更快)

  • 模拟器 :genymotion (有时候还是要用到模拟器的,那么我推荐你使用geymotion,这货速度绝对比自带快很多,虽然自带模拟器也可以使用x86核心,不过速度依旧不如genymotion)

  • IDE :Android Studio (这里我想到一句别人说过的话,如果你是Android开发老老手,那么我推荐你使用Android Studio,如果你是新手,那么我更要推荐你使用Android Studio。其实我发现很多人在学习过程中继续使用eclipse的原因是,他看的的书或者视频教程使用的是eclipse,他们和我说新手就该用eclipse,除了一些做NDK开发的,我说的是专业人士,其他人请你们换成AS吧,去学习一下使用AS,也会有不少提升,至少比你照着视频敲看不懂的代码好)

  • 梯子 : 云梯(在我大天朝做开发有一架梯子还是很必要的,你可以去找一些免费的,不过速度确实渣。云梯是我用过的梯子里非常不错的,也有很多人推荐,你可以点我的推荐链接可以省一点钱!推荐链接

学习路线

入门级

  • 语言基础Java (使用Java语言。现在开发Android的方式有很多,如Hybrid开发,但如果你是新手,我推荐你使用原生开发,使用Java语言,因为任何跨平台开发最后你的web和Native都要精通,不然你总有解决不了的的问题)

  • Android官网 http://developer.android.com/ (需梯子)
    (Android官网更新其实很快的,你应该经常上去看看,需要梯子,如果你英文不错把Training部分练习一遍,就基本可以写一些小东西了)

  • 学习ApiDemo ApiDemo 是很重要的,很多的功能其实Google官方以及帮我们做好了例子,只要学习一下就好了

  • 学习视频 其实我是很喜欢对着视频学习的,再用播放器调整为2-3倍速度播放,其实视频学习有利有弊吧,利就是你在学习一个知识点的时候,也附带学习了讲课者的思维方式,以及其他一些小知识点你也可能注意到(比如一些好用的插件,软件等)弊可能就是视频良莠不齐,开发方面的视频我并不认为存在什么经典,随着时间的流逝和技术的发展反而不再适用,盲目学习事倍功半。

    这里插入一个小广告吧,下载视频的话,可以关注我的微信公众平台晓晨学习组(微信号:xiaochenAndroid),在里面你能找到学习视频下载,都是我认为不错的学习资源。然后我想说的是视频教程,重要的是理解思想,写代码要关了视频敲一遍,照着写实现了也没有什么提高。

  • 遇到问题能Google少百度,可以到eoe找找,stackoverflow,而且要多查查看看,注意文章日期,因为有些问题其实已经有了更好的解决方法,我举个例子,比如要在Android上实现下拉刷新,百度得到的内容基本都是使用pull-to-refresh这个第三方库,但是在Android官方提供的Support包里其实已经带了实现下拉刷新的快捷方法,而且效果更好。

进阶篇

如果你完成了入门教程,那么你应该进阶了


高手篇

究竟什么是写代码的高手,可能每个人都有自己见解,在这里我其实不知道该写什么东西,我觉得每一个开发者最终的产物都是你的项目,所以你要做的并不是去炫技,而是写出更健壮、更易用的代码。那么我臆测该学的可能有如下:

  • 设计模式 (设计模式更像是一种经验的东西,知道和用是不一样的,根据代码能看出这是什么设计模式似乎很容易,但是高手总是能巧妙的运用他们,你看完后发现,好有道理哦!就是写不出来5555 。。。)

  • 学习架构师方面的知识 (开发小项目看不出来,开发大一点的前期的设计真的很重要啊)

  • 学习内核相关内容 (有去看过讲内核的沙龙,我就是打酱油的,需要汇编和c,大神讲的理所当然,我是一头雾水,不过深入还是有很多好玩的东西的)

  • 写写算法 leetcode 全A了,有些题其实还有更优解法的,但是我不推荐你做ACM的(大神请无视)基本上都是些数学内容。

  • 学习设计 不会做设计的程序员不是好的产品经理,我最近在学习使用sketch,其实很好玩的。

  • 学习各种新技术,做做小玩意(比如木匠活的什么的,我觉得挺好玩的),你除了是一个做技术的还要提高情商,不然你怎么追妹子啊!

  • 锻炼身体 这个真的特别重要!!!

其实高手篇就是我写着玩的,大家随意看看就好,拍砖?我其实无所谓的啦!~~

写在最后

整理码字不易,转载请注明
欢迎关注我的博客 晓_晨DEV
有任何意见或建议 欢迎讨论


分享