前言
自学安卓也有一段时间了,去年3月份就开始接触安卓了,但是在学习的过程中深感自己基础不行,于是呢,就在网上找了一些java的基础视频来看,还学习了html,javascript,但是都是略懂皮毛而已,之后想加深对java的理解,于是开始学javaweb的开发,学习了jsp,servlet,jdbc等等。但是我是希望搞安卓开发,所以对这些后台技术,也是学到中途就放弃了,不过在学习后台之后,感觉自己对java的理解又上升了一个层次。今年一月份,开始正式转向安卓,在看完《第一行代码》之后,正式入门,但是对安卓仍处在拨开迷雾不见森林的状态,于是呢,在网上又找到了一些培训视频,黑马的培训视频非常长,有好几个月的时间。我就跟着后面一点点的学习敲代码,不过这段时间内自己也花费了很多时间在自己的小女朋友身上,不过最近还是分手了,心累。培训视频看了好几个月,直到这个学期开学才基本看完。培训视频里的项目也跟着后面敲了好几个,但是呢,跟着老师写代码有好处也有坏处。好处是,老师给你制定了一个学习的方向,你跟着后面老实敲代码就是。但是,坏处也很明显,培养不了自己自主学习自主思考的能力,当项目里一出bug,就开始看老师的代码,找到了bug就会想“哦,原来是这写错了”,但是这样,感觉自己仍然没有提高自己的技术,只是一味的在模仿而已。所以,这个学期,把仅剩的视频看完了之后就开始自己自主学习,自己写小项目了。
重新开始
在github上down了一些大神写的项目,发现他们用了很多技术自己都没有接触过,比如:retrofit,rxjava,eventbus等等一些新技术,我才发现自己的学习进度实在是太慢了,而且之前看的培训视频里面模拟器的版本还是android4.1,而现在都已经出到android 7了,虽说学到了很多技术,但是相对于这个技术爆炸的互联网时代,还是有点脱节了。所以这段时间开始研究时下最新的技术,在自己的项目里也开始用okhttp + retrofit + rxjava。
思考
自主学习的好处就是,可以自己去思考问题,去解决问题,以前虽然跟着老师也写了几个项目,但是当自己去写项目的时候却感觉无从下手,不过现在开始学着写项目的时候,发现其实并没有那么难,慢慢的去实现一点一点的功能,去解决一个个bug,去google没有了解的知识点。这个过程我收获到的远远比跟着视频后面学习要多的多。自己也买了一本《android艺术开发探索》,其中的很多知识点自己都没有掌握,虽然说看了一遍,但是很多知识点只是过了一遍,并没有深刻掌握,这本书很好,可以看很多遍,巩固知识并掌握之前没有看懂的知识点。现在没事就刷一些技术公众号,刷简书上的一些技术文章,感觉收益很多。也算填补失恋的空虚吧,沉迷于技术之中无法自拔,哈哈。
后言
今年大三了,虽说目标很明确,我就特么的想做一个合格的安卓工程师,但是感觉自己需要走的路还很长啊。今天在简书上看了别人分享去BAT面试的经历,看了面试官问的问题,深感自己的不足。不是科班出身的自己,对一些算法真的是掌握甚少,只会写一个快速排序,更别提什么红黑树了,什么HashMap的内部实现我也没有详细的看过。为什么同为本科生,自己和别人的差距那么大呢,蓝瘦香菇。因为自学,其次在一个二流师范大学里,也没有什么可以交流的同学,只能靠自己咯。这个学期多写一些项目,多看看大神的源码,掌握当下最新的技术,下学期呢,补充java基础,什么内部实现,内存管理,jvm,算法等等的基本知识。进BAT的梦想不会放弃,希望明年的自己能如愿以偿,要么不做,要做就做最牛逼的程序员。加油自己加油各位看官!