Android工作经验一年总结。(零基础自学Android)

自我介绍

一个普通的人吧。没那么聪明,贪玩,野鸡大学毕业,喜欢看漂亮妹子,喜欢打游戏,家境一般,乡下孩子。138,183,95年。就一个很普通的孩子,不是那种高中就接触编程,大学毕业就各种系统内核,了如指掌的。当然现在的水平,也就是1年经验的,面向百度编程的水平。

我会什么

1,android客户端 会到啥水平。也就1年的水平吧。从一开始的碰到RecycleView的需求都手忙脚乱。到现在不管产品的什么需求,都能冷静的去分析需要怎么做,怎么百度。从一开始包个空指针的错误就方的一匹,到现在能去看源码解决问题
2,kotlin 我强烈建议不管你是刚入坑安卓,还是已经入坑很多年都应该掌握这门语言去开发安卓。开发注重是一个就是效率。本来开发时间就短,还要去花那么多时间去写一堆毫无用处的代码何必呢。而且学这门语言也不麻烦。从java转过来,3天就够了。很多人对kotlin处于一种观望状态。下不了心去学。如果你看到我这句,希望你下一行代码就是kotlin来写的。 我不想举一些例子说kotlin到底哪里好。你用就是了,用了2天,你要是觉得没后悔。来喷我。喷到你开心为止
3,自定义View 目前就是自己画过一些用线和圆拼出来的View。不过原理知道了,一些辅助的View,我觉得多花点时间,我也是能画出来的。
4,设计模式 掌握一些常用的设计模式,和设计原则
5,Gradle 每次出现这编译的问题就是丢去百度。所以也在学习这方面的知识。啥多渠道打包,比如友盟的key和渠道在不同包的配置下怎么去配置
6,Flutter 曾经有一个月RN经验,缺点太多,果断脱坑。现在谷歌出的这个,正在处于学习阶段
7,反编译 基础水平,有些时候需要参考竞品的功能实现方式,会去看看代码,仅此而已

我的经历

第一阶段:初识Android

大学很一般,服装学院,可想而知,学校对于IT专业不是很重视,而且学校的水平和教学方式也确实在实验阶段,大一就记事本交C。所以对编程是一点兴趣都没了。所以大学基本上没听老师讲啥。大三下学期,面临毕业实习的时候,产生了危机感。因为兴趣,盯上了Android。那个时候啥也不会,很多人是学了java,再去选的安卓,而我是因为想学Android,所以去学java。

第二阶段:自学Android

2017年5月12日。买了《第一行代码》,开始了自学之路。计划是一天看一章。然后把书上的代码都跟着敲一遍,早上7点学到晚上10点吧。因为都是跟着书上敲的代码,所以可以说离开了书还是啥都不会。但是每门语言开始都是这么个阶段,当时也怀疑这样做有啥用,但是还是做了,现在觉得,还是有用的。
花了2周吧。第一行代码看完了,书上的代码也敲了一遍,包括最后的天气预报Demo。觉得自己已经掌握了Android。
然后百度了一些Android应该看啥书籍,第二版就的任主席的《Android开发艺术探索》了。买一本,打开书的时候,我就蒙逼了。完全看不懂。就跟高中看英语书一样。靠着自己的意志力逼着自己看了前面几章,真的看不下去了。这个时候意识到,原来Android还有很多的东西要学。
自学Android的第一阶段就是看《第一行代码》,第二阶段,自己在网易云课堂上找了一下教学视频,然后自己也百度到了黑马74期的培训视频。自己一边看视频一边敲。然后再看了一边《第一行代码》。CSDN,简书,博客园,知乎。每天在这些论坛上找文章看,尚学堂,传智播客,极客学院,网易云视频,腾讯课堂。。。等等找视频。 一边看一边敲。就这样。度过了第一年的安卓自学阶段。当然,除了学Android,也是有其他的娱乐的。

第三阶段:工作

实习

2018年,正月初八,大四下学期自己找实习工作。去上海。自认为相对于普通大学生,我好歹自己努力了大半年,应该很容易就能找到工作的。但是我实习工作确实找的比较坎坷。可能是我学校的名字不好听吧,江西服装学院。谁会去找一个服装学院的学生来打代码呢。在上海住在我哥那,找了2个月工作。最后不挣扎了,去了一家3个人的公司,做RN实习。啥也不会,工作了1个月,辞职了。5月份回学校参加毕业答辩。毕设是天气预报。当然不是第一行代码里的,而且把自己学习的东西,有用的全都添加进去了,一个相对完整的。靠着毕设拿了个校优秀毕业设计。2018年5月,答辩后再次回到上海找工作。2018年6月5日,去深圳。上海真的找不到要我的公司。离开上海的时候,心里想着我一定会回来的。

正式上班

2018年6月10。在深圳南山区高新园地铁站附近的一家公司入职。月薪5000,无餐补,无加班费。早上9.30,晚上7点下班。但是入职的7个月,最晚到过12点。 平均下班时间10点左右。说实话,这几月挺累的。工资也就够开销。也不为了别的,来深圳就是为了磨练一下,好杀回上海。每天都能学到很多东西,因为不会的实在是太多了,刚入职,技术老大要求就给我3天,希望我3天后用kotlin进行项目开发,因为他们全是用的kotlin。经常需要去反编译别人的代码看实现,需要抓包。需要解决gradle编译问题。需要用虚拟机打包。公司项目是输入法,非常大的一个项目。大到你无法想象。我入职7个月,只能说了解了百分之20的代码。在这里我学会了代码规范。因为代码是要给上级看的。代码的规范很重要,在这里我学会了代码的简洁。因为项目已经很大了,所以代码能少写一行,就尽量别多写。 要求就是给领导看的代码,他不能找到你多余的代码,也没法在你写的逻辑里添加他的代码。string文件都是需要提取的,SP的key都是需要尽量少用的。在这里,我学到了非常多非常多的知识。7个月后,年,。我辞职了,因为我觉得,我可以回上海了。
2019年2月20日,忽然觉得,我可以再看一看《Android开发艺术探索》了。 不知道为什么,就觉得工作的7个月,很多东西都在这书上看到过,我也觉得,现在的我,可以理解一下这本书了。花了10天,把这本书看了,这是我第5次看这本书,这一次,我真的看懂了。也做了笔记,在外面的CSDN里可以看到。我也觉得我可以去找工作了。
2019年3月1日。来到了上海。倒不是说上海到底有多好,主要是上海给我留下了太多的不甘心。我得把场子找回来。面试了1个星期。4家公司,拿了3个Offer。3月10日,来到了我现在的公司。待遇8K,餐补一个月大概600-700的样子。我觉得对于一个刚毕业1年经验不到的安卓,可以了。

一年后的变化

以2018年6月10日第一份工作为起点的话,到今天,自己闭上眼体会了一下。以前不管遇到什么问题,都不知道怎么去解决,出先了崩溃,第一反应就是很慌,不知道该怎么办。现在就会很淡定,去看Log,如果问题比较复杂,就会去Debug找问题。现在也学会了看源码去解决问题。源码这个东西,虽然我们平时不用写,但是知道源码,对于一些问题的理解就会问简单。所以阅读相关源码确实是需要的。比如每个Acivity都有的setContentView是干啥的。
在打代码方面,以前打第一行代码的那种感觉也还有,很多API都不知道要穿啥参数,参数是干嘛的,离开了那本书就不会。现在其实也是这样,但是这些东西其实是正常的,那么多API谁记得啊。只要知道有那么个API可以做啥,然后百度一下,或者代码提示出来,点进去看需要啥参数就好了。而且对自己的要求也不是我能实现效果就行,而是会去要求自己怎么规范的写出高效率的代码。不会去写魔法数,不会去乱用SP,不会去乱命名方法。知道去选择一些消耗小的方式去实现等等。
在接到产品的需求方面,刚开始就是很慌,不管产品让我做啥,我都觉得做不出来。现在就是比较淡定吧,会去分析一下是否可行,其实一般的都做的出来,只不过的时间问题。

未来规划

计划在今年一年里,把24种设计模式都掌握,也就是《Android 源码设计模式解析与实战 第2版》这本书,都看一遍,看懂源码里的设计模式,花半年时间学习Flutter,今年能用Flutter写出不是那么复杂的程序。年底买个mac pro就可以试试Flutter写的程序在IOS上是啥效果了。尽量的去看懂一下《深入理解Java虚拟机》。后一年的计划,就是往中,高级发展了,去学一些底层的东西。

你应该如何自学Android

现在培训机构其实挺多的,但是我对没一个朋友,都是不建议他们去培训机构的。真心想学的话,那些基础的知识,书上,论坛,公众号。百度云的视频,一大堆。能把这些东西都学会了,怎么也是个中级开发了。何必花那么多钱取培训机构呢。只要是真的想学,其实资源是真的很多的。
第一步
首先推荐买一本《第一行代码》,郭霖老师的这本书确实很好。学习的时候好入门好理解,里面的东西也很实用,都是工作上实际需要用到的。现在遇到一些问题,偶尔也会去翻一下。
看会了第一行代码,其实这个看会,并不一定说就是里面的东西你都会了。我说的看会是你把这本书都看完了,书上的代码你都照样敲了一遍。很多API你不会写,比如通知栏,但是你知道有那么个东西,你翻开书找到了,你能看着书敲出来。这种程度。 到了这种程度其实你已经入门了。可以去找一些实习工作了。但是现在工作确实不是那么好找,如果是一些名牌大学的话,会好一些。
第二步
如果不能找实习工作继续学习的话,看完《第一行代码》就可以试着在网上找一些视频资源了。有很多这样的资源的。尚学堂,尚硅谷,传智播客,网易云课堂,腾讯课堂,B站等等可以说非常多非常多了。找一些完整的项目视频看一遍。跟着敲一遍。会有很大的进步。
第三步
这个时候必须要去找工作了,因为实际工作比看视频,和书上的东西会多很多,你会遇到很多你没接触过的东西,但是别怕。只要用心,其实都还好。工作中,可以去试着看看《Android开发艺术探索》。其实到了这一步,就和我现在差不多了,后面的路,自己也有有自己的计划。

总结

其实看完也就发现我可能和你一样,甚至不如你,也没那么好的脑子。也就是自己努力吧。自己做程序员是为了赚钱,选择Android发自兴趣。所以我会把自己以前玩游戏的时间拿来敲代码,会把看直播的时间拿来看教学视频,会把看电子书的时间拿来逛博客,看公众号。我觉得把别人积累的经验放进自己的大脑的时候,也会很开心。这种开心,并不比玩游戏少。 现在上班每天1个半小时地铁,在地铁上会也是学习的时间,当然也会看看视频,或者直播这样,纯看心情。其实努力的去做一件事,真的会让人开心,比玩游戏更有成就感。如果你有缘看到这篇文章,你至少确实是意识到你该去学点东西了。那么我希望你能坚持下去。

联系方式

QQ:707409814
我自己会的不多,但是我希望能帮助一些人找到学习的方向,过去的一年我也确实帮助了几个。
我也希望能找到一个能和我一起学习的人。不管是哪个方面。当然是妹子更好了。
我喜欢玩刺激战场(学习后,已经放弃了电脑游戏) 刺激战场是个王牌,应该不会坑你吧。
还有1个多月,自己就快满一年了。
多谢那个努力的自己
------2019年4月26日

猜你喜欢

转载自blog.csdn.net/qq_38679144/article/details/89551844