由于有C语言的基础,加上Android开发的火爆,以及入门门槛比较低。所以我选择了一份Android开发的工作,由于之前没做过相关的工作,所以不知道行情,但是还是根据之前的薪水,开出了6K,实习期5K的待遇。找了一周左右,找到了一家机顶盒相关的开发工作,因为那时公司急需要人,然后我又打算练手,所以一拍即合。
面试之前的准备工作。将Java的基础部分看了一遍,花了俩周时间,将面相对象的思想建立,然后了解比较重要的概念,比如继承,抽象,封装,多态性等。然后把常用api稍微看一下。Android方面的,就是看了一下基础视频,懂得了四大组件,然后信息传递,以及常用控件等。然后就是把Android开源的项目转化为自己理解的,要么你看代码,写一遍。要么,你就将流程图画一遍。比较幸运的是,当时面试我的直接叫我讲项目,我讲的还可以,然后把流程图一画,然后就被录取了。
到了岗位上,发现代码不是那么简单,不是平常几个界面就打发了,而是几十个界面,然后每个控件基本上都会用上。这一段时间属于快速学习期,通过百度,Google,将代码消化,等到安排模块化开发的时候,将自己写的代码加入。幸亏没叫我建立框架,不然我真奔溃了。
通过半年的训练,基本上能够适应模块化开发,但是这个肯定不够,于是就想着怎样提高,打算去看框架,找了好多,就只发现andbase的好像还可以。其他的话,不太习惯吧。
总结接近俩年多的开发经验,就是首先原理要懂,吃不透的话,至少要明白怎么写,怎么照葫芦画瓢。然后再针对每个环节优化,建立自己的小框架。比如从网络拉取数据,更新模块等。将工作中的每个小模块,总结优化,下一个项目就轻松 了。
下面说一下大体的学习之路。
一,肯定是环境的搭建,这个我也说不清楚,自行百度。http://www.cnblogs.com/skynet/archive/2010/04/12/1709892.html,可以参考,但是不建议全搬,比如建立avd等,我建议直接买个测试机,更快,更好的测试。
二,Java基础,只要你能够用代码写出小程序即可。只要是Java的程序你能够看得懂,就说明可以了。
三,Android基础,比如基本控件,四大组件,以及他们的消息传递等。
四,Android进阶,这个我也没摸透,总的来说,要多看优秀代码的框架,然后将之剥离,化为I自己的东西。比如可以做一下测试,哪个下载框架好,这都是时间积累出来的。
还有就是看博客,然后就看源码,因为源码涉及到C语言或者C++,如果不是很想全部掌握的话,就不需要看。但是jni原理要懂。
如果就打算做上层的话,就多看开源的自定义控件,效果好的,就把人家的东西学来。上层的控件累积感觉挺重要的。先说到这吧,套用一句广告语,哪里不会点哪里。
如果时间比较赶,就得针对性的学习,如果时间充裕,那就琢磨细节。