我是如何学习安卓开发的

来源:互联网 发布:龙岗网络推广 编辑:程序博客网 时间:2024/06/04 18:48



有朋友问我“拭心你是怎么学习安卓的呢?”


跟他聊了几句,唤起了我的回忆,索性整理出一篇文章吧。

我的安卓学习之路

我的安卓之路主要有四个阶段:

  1. 入门

  2. 实践

  3. 准备面试

  4. 工作

1.入门

2014 年,学习 MFC 中途放弃的我,偶然间看到 Mars 前辈的安卓视频,看了几天写了个简单的应用,觉得安卓开发挺有趣,同时学校的俱乐部认识了学长,得知一个学长去了阿里做安卓,让我很心动,便决定开始学安卓。

开始的时候我没有重视 Java 基础,直接就看 Mars 的视频和《Android 从入门到精通》的书,照着书一章一节地学、敲,一开始是死记硬背,写的久了,逐渐熟练了,但还是靠背的居多。

现在大家可能看不上这种《XX从入门到精通》的书,但我当时用一个暑假整个读完、敲完,感觉收获还是很多的。它的内容可能很简单、网上都可以搜得到,但对于当时完全没有体系的我来说,这本书的好处是非常的系统,我在没有网络的情况下也可以阅读。

这个阶段的问题是没有主动去网络或者学长那里请教学习路线,直接看书、看视频,基础都不扎实,导致浪费了很多时间。

从初始到勉强可以说是“入门”,大概花了小半年。水平大概就是:可以写一些简单的布局和页面跳转,知道四大组件但基本只用 activity。

2.小实践

2014 年底,书和视频看完了,我跟着书写出了第一个项目,一个简单的记事本,稍微复杂点的就是 SQLite 操作。界面很丑,但装在自己手机上跑起来、给朋友展示、完成学校作业,让我觉得很有成就感,觉得没白学。

后来又找到“X马”的一个项目视频,跟着学了一个手机卫士的项目,这个过程中熟悉了 Eclipse 和 Git,掌握了稍微复杂点的布局。

这个阶段的问题是只是跟着书、视频一句一句写,没有思考为什么要这么做,导致收获不够多。

这两次小实践让我对书上的知识有了更进一步的理解,阅读时有些章节嫌麻烦直接跳过、有些细节匆匆略过,在项目中用到了,书籍结合着实战,才理解了一些开始觉得晦涩的概念。

这个时候我注册了 CSDN:http://blog.csdn.net/u011240877,开始记录一些遇到的坑和解决方法。

3.准备面试

做了两个小项目后,我又做了些简单的项目,包括本地播放的音乐播放器、一个加密解密的软件等,参加了一些小比赛,拿了二三名,就觉得自己“挺优秀”了。

2015 年,在接连面试了腾讯去哪儿还有些其他公司,均未果。

腾讯倒在一面,被一个问题难倒“Vector 和 ArrayList 区别?”;去哪儿倒在二面,手写单例模式写不出来。

这一连串的失败让我意识到自己的基础很差,光会画 UI 填布局,稍微深一点的问题就难倒了,不论 Java 还是 Android,都浮在表面。

于是我开始搜集网上的面试问题,“面向面试学习”。

4.工作

在“面向面试学习”了一段时间后,我掌握了一些“常考点”:启动模式、生命周期、Service 创建的两种方式、Handler 机制、垃圾回收等等,现在烂大街的内容,当时掌握了的确让我很快就找到了工作。

2015 年先后去两家公司实习,第一家西安的公司呆时间比较短,那段时间我在博客记录了很多工作总结,现在看看主要是熟悉工作的流程、心态的调整,这个过程中用的主要是 eclipse,熟悉了一些开源框架的使用,也没有意识去了解自己负责部分以外的内容。

换第二家来到了上海,开始用 android studio,在同事推荐下去看官方文档,逛 github,学习一些常见库的使用。

2016年,在饿了么电话面试未果、前辈点拨以及看框架什么也不懂的多重打击下,我意识到自己还有很多很多的不足,其中最关键的是 Java 基础不足。

前面提到的准备面试过程中,我看了很多安卓基础的东西,Java 反而忽视了,于是开始补基础。你们可以看到我博客的很多 Java 基础内容,都是 16 年开始写的。

2017年,博客访问量增加、开始运营公众号,网上结识了很多朋友,关注了高质量公众号,坚持交流分享学习,一直到九月份换了新的工作。

值得复用的经验

从我的学习之路可以看出,学习安卓的过程中,几个关键点是:

  1. 看书

  2. 练手

  3. 以考带学

  4. 商业项目

  5. 开阔视野

1.看书

看书是第一个阶段必不可少的,这个阶段找入门大众书看几本就好,目的是掌握通用知识,不必太纠结于细节,否则坚持不下去。

这个阶段最好是别看博客,像“安卓进化论的安卓进阶指南”这样可以成体系的博客太少了,东看一点西看一点,建立体系的速度太慢。

至于选什么书籍,根本不是你迟疑的理由,X乎上一搜答案太多了。

官方文档有能力的可以刷一刷,质量有保证。

2.练手

看了一两本书后就可以练手,实践出真知,跟着书或者视频或者开源项目,从头做一两个项目,了解这个领域开发需要用到的知识、工具,不必纠结于具体细节,先丰富认知体系。

不知道做什么项目?

如果你买书的时候仔细看看后几章,其实都有项目实践的。若是喜欢看视频,各种在线学习网站视频教程也不少。

3.以考带学

了解了一些技术的使用后,想要深入学习一下又不知道该学到什么程度?

又一个办法就是“以考带学”,什么意思呢?以准备面试题的心态,搜集问题、解决问题,在这个过程中深入学习之前只了解表面的知识点。

最好选大公司的面试题,越大的公司考察的内容越基础越实在,小公司往往考察你对 API 的理解,价值不大。

4.商业项目

知识积累差不多够,就需要在实战项目中磨练、提升了,商业项目里需要考虑效率、性能、架构各个方面,找一份工作,多看看别人是怎么做的,吸收、进步、总结,你就可以从入门到进阶了。

5.开阔视野

到这一步,还不够,还得保持继续学习的心态。时代在不停地变化,我们要想有饭吃,就一定要紧跟潮流,有一定的视野,比如我经常在上下班时看这些公众号:

程序员共读

最有影响力的程序员自媒体,关注程序员相关话题:程序人生、IT技术、IT职场、学习资源等。

码个蛋

关注「码个蛋」,每天早上 7:00准时推送,Android技术、程序员成长之路、在这都有,替您从海量同类文章中筛选出高质量文章,为您提供最快捷的精进之路


非著名程序员

非著名程序员,移动开发者的聚集地,这里分享的不仅有移动开发技术,还有编程经验,产品分析,以及互联网趋势分析与观察。

带你提高自己技术的同时,还能让你时时刻刻走在技术和互联网的最前沿。

非著名程序员,可能是东半球最好的技术分享公众号。


安卓笔记侠

没有买卖,就没有伤害;没有笔记,就容易变菜。和你一起『终身学习』,这里是【安卓笔记侠】。在「安卓」这个领域,在「程序员」这个方向,分享原创,分享我的 IT 心得。


源码共读

源码共读,学习之后才是自己的。源码共读发起“每周共读行动计划”,带你和100万程序员一起,每天坚持学习讨论半个小时,一周学习一份优秀源码,一年学习52份优秀源码,成为更好的自己。 


承香墨影    

「承香墨影」一个名字文艺到不像开发者的公众号,却是 Android 开发者的聚集地。

当然不止 技术提升,职场精进、个人感悟、时间管理,这里都有。

本着原创为本的精神,始于原创,忠于原创。

周一至周五推送原创干货,为你铺平从 Android 到全栈的开发者进阶之路。 


Android技术杂货铺

【Android技术杂货铺】简书ID:依然饭特稀西,原创文章40余篇,旨在帮助更多的人技术成长。

每周定时分享Android开发中的学习教程、面试技巧、流行框架、经验之谈、奇技淫巧等各种技术干货。所有的一切只为技术的提升。


精讲JAVA

精讲JAVA,读java虚拟机却读不懂?码农是时候翻身做主人了,带你解析最火的Hotspot,掌握spring的核心思想,这是你的加薪利器,更是你实现自己价值的地方,每周必有一篇原创,不定期更新国外技术好文,期待你的关注。 


安卓进化论

我们的安卓进化论,主要是原创,分享一些学习心得和筛选过的跳槽资料,目前正在做一个“安卓进阶学习指南”,带领读者结合实战扎实基础、建立知识体系,有需要的朋友可以持续关注一下,不过最近加班多,各位亲多谅解。


序员

关注「序员」,每晚 20:20 与你相约。利用碎片时间,做一名有趣有料的程序员。


互联网学术

专注于互联网领悟的经典技术书和资源整理收集和热点话题,涵盖34个领悟,143家公司的面试真题,以及常见互联网技术领悟经典书和面试书和知名互联网公司校招薪资汇总表,领取方式:关注此号,回复:干货 




公众号运营了有段时间,由于我主要是发原创文章、更新不频繁,粉丝数增加的比较缓慢,于是尝试了一次和朋友们的互推。
这次选了技术领域几个精品微信订阅号,涵盖了时下最热门的技术领域,还有行业内的热点新闻和干货教程推送。

为了不辜负朋友们的点击,我努力地在两天上下班路上写下这些内容。觉得有些价值的朋友给文章点赞或者转发一下,拭心这里谢谢你了。


原创粉丝点击