入门学习阶段
首先,官方文档肯定是最好的教科书,网上一些大神分享的案例也可以多看看,一边学习一边练手。假设英语还不错,而且还有Java和XML的基础,那照着官方的Training慢慢学习下来其实就算是入门了。如果英语不太好,也要把基本功打扎实,把编程语言练熟。也要多找资料多做练习,至少要掌握基本的Android开发知识,比如四大组件的使用、创建Service、进行布局、简单的自定义View等等是最基本的要求。
也许前期看什么都觉得很吃力,但是不必急躁,慢慢来,下层基础决定上层建筑。初期学得稳,后期才能走得远。这里给大家推荐几本新手入门的必备书籍,《第一行代码》、《android开发艺术探索》、《android编程权威指南》。
学习方法
- 多练多思考
对于刚刚踏入这个行业的新人,
真题解析、进阶学习笔记、最新讲解视频、实战项目源码、学习路线大纲
详情关注公中号【编程进阶路】
我觉得最好的学习方法就是多练习、多思考,在学习中突破自己,积累经验。对于新手来说,Android开发的前期阶段就是不断地在踩坑,所以最快速的成长方式就是去和各式各样的bug展开殊死搏斗,不断打磨自己的技术。理论和实践的融合技巧是需要你自己去摸索的。
- 写日志
前期学习的犯错次数肯定很多,记录、总结有助于我们快速地解决问题。写日志是我们日常学习的一种记录方式,写日志其实是对知识体系的回顾与总结。与其说写日志有助于我们学习,不如说记录问题有助于我们学习。
总的来说,初级Android开发者需要学习的东西还是比较多,所以大家要保持良好的心态,做好长期作战的准备,一步一步地去充实自己。
中阶学习阶段
这个时候的Android开发者已经具备了一些从技术看本质的能力,对学习Android开发也有了一定的理解。这个时候就可以把眼光放向其他尖钻、热门的技术,扩充自己的知识面。想要尝试但是又不熟悉的领域也可以接触起来。
在中阶学习阶段,没有必要再去重复过于简单的工作,我们更需要提升的是解决问题的能力。形成一个自己的思维方法和知识体系是当前最重要的任务,这也是我们成为Android高阶工程师的必要条件。
学习方法
- 参与开源项目
开启开源项目或者贡献开源项目能极大地提升我们的技术水平。很多人都有这样的感受,那就是关键的脑洞往往是一种启发,想通它的那一瞬间就像打通了任督二脉,一下子就练成了九阳神功。这种灵感的获得在Android开发学习中是很难得的。我自己也在开源社区参与过不少项目,得到过不少好用的组件,是开源项目的获益者,所以我推荐大家多去开源社区活动,相信你们也会有不少收获。比如GitHub就是一个不错的开源社区,在项目中GitHub聚集了全球各个领域的程序员,可以直接阅读Google、Facebook顶级公司的开源项目,不管是阅读别人的源码还是自己贡献代码都很方便。
- 阅读Android源码
Android源码的理解可以帮助我们进一步地学习,给我们以后能力的提升打下坚实的基础。多看优秀的源码,有可能的话重复造一遍也挺好的。不能一直停留在基本api的使用上,应该往更深层次的方向去研究,例如activity、view的内部运行机制、Android的内存优化、JNI等,除了能灵活运用,更应该能通过阅读源码而理解其实现原理。
高阶学习阶段
高阶学习阶段的最重要内容是“更好”。某种程度上来说,一个项目不论完成得有多优秀,它总是会有更优质的设计方案。到了高阶学习的阶段,无论这个项目完成得多好,我们都可以再问一句,还有没有更加完美的设计思路。虽然有着丰富开发经验的工程师在项目开始之前,就已经知道瓶颈在哪里,需要注意哪些地方,但创造更优的解决方案一直都是高阶工程师追逐的目标。
学习方式
- 系统学习
理解系统,学会用系统思维才更有利于解决问题。比如FB的Buck构建,国内多少技术团队基于此做了构建优化(也得到了晋升)。学习技术需要结合项目进行训练,在Android里面最常用的架构无外乎 MVC,MVP,MVVM,但是这些思想如果和模块化,层次化,组件化混和在一起,就不是一件这么简单的事情了,我们需要学习更多的Android开发知识才能知道其中蕴含的深理。
写在最后
最后我想说:对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
最后
最后写上我自己一直喜欢的一句名言:
世界上只有一种真正的英雄主义就是在认清生活真相之后仍然热爱它