写过不少技术文章,今天换个角度,跟大家分享一下我的个人故事。
大四那年我被骗到了电子厂,无法忍受流水线的工作,愤而撩了挑子。前途一片渺茫的时候,我连夜爬起自学起了Android,开启了我的Android开发之路。至今已毕业多年,一直在这条热爱的道路上坚持着,快乐、知足、感恩。
分享我的故事之前,先简单回顾一下我这半年都干了啥。
年初看到了一篇文章《我的 2020 年终总结》,深受感染。作者杰哥
在2020一整年,始终坚持日更输出,拿到了多个平台的证书和奖杯。同时还学做了多道菜品,期间还坚持健身和旅游放松。一年同样是365天,别人竟过得如此充实、如此精彩!
钦佩之余我不禁陷入了思考,联想到了自己。忽然意识到自高考以后,总是间歇性踌躇满志无疾而终,太久没有为一个目标而坚持了。 我想好好做成一件事情,我要给自己定个目标。我擅长Android开发,那就坚持写作,保证一两个礼拜输出一篇高质量文章。
一则将自己用心打磨的东西分享出来,帮助别的开发者;二来利用持续的输出倒逼自己不断地摄入新知识,迫使我持续学习,养成终生学习、定期总结的好习惯。但分享给大家看的东西不比私人笔记,需要注意很多细节,诸如深入的理解、通俗的讲解、友好的排版等等。
为此我做了很多准备,潜心学习了很多优质文章的行文风格、目录次序、MarkDown
语言以及一堆作图工具。接着删除了手机、平板里的游戏和视频软件等一切时间杀手。另外收集了大量Android相关的优质话题。并买了个专业的待办事项App,用来随时记录新的灵感,高效地安排每篇文章的写作计划。万事俱备,一月底的时候就开始了半学习、半摸索的写作之路。
半年不到的时间内我输出了十四篇技术文章和三篇随笔。技术文章主要聚焦在Android领域比较流行的话题,比如持续火爆的Jetpack
框架,重大UI变革的Compose
工具包,即将发布的Android 12
系统以及国人热捧的鸿蒙
系统。
AppCompat
包的构成和作用,却发现没有一篇完整讲述它的文章。便从原理入手,结合DEMO进行了详细地总结: 深度解读Jetpack框架的基石-AppCompatCameraX
很好用,但不少文章使用的API已不兼容。我基于最新的版本循序渐进地演示了CameraX的各种用法:为什么推荐使用Jetpack CameraX?Backup
功能,查阅全网却发现相关资料极少的时候,决定自己填补这块空白。遂从功能由来、发展历史、实现原理、破解和定制等完整维度,对它进行了充分地解读,汇成了三万字: 全面复盘Android开发者容易忽视的Backup功能SplashScreen
API可以丰富App启动效果但实现十分简单,引起了我的兴趣。我反复打磨各种动画效果,详细展示启动画面的各种酷炫玩法:Android 12上全新的应用启动画面,还不适配一下?Google IO 2021
上发布的Android 12宣传片里AppWidget
发生了重大变化。我精心制作了Todo-list、步数、时间倒数等小组件对其多个变化进行了全方位的解读:Android 12上焕然一新的小组件:美观、便捷和实用自High的文章没有价值,好在我不是自我感动,写的文章被多个官方平台转载。【深度解读Jetpack框架的基石-AppCompat】是第一篇被Google转载的文章,我很激动、也很意外。因为那是今年输出的第一篇文章,排版和措辞都略显粗糙。很感谢他们提供的平台,这些认同让我坚定了写作方向。
2篇文章被Android官方公众号
转载:
3篇文章被CSDN官方公众号
转载:
1篇文章被搜狐技术公众号
分享:
1篇文章被掘金官方公众号
转载:
从事Android工作以来,拜读过鸿神
的很多文章,但并不认识。写文章这段时间与鸿神有了多次交流,在钦佩他技术厉害的同时,更感受到他为人的Nice。很感激他的个人公众号转载过我多篇文章,给予的帮助。
当然,输出文章的初衷还是希望对大家有所帮助。欣慰的是文章受到了很多积极的评价:有留下“全网最佳”评价的朋友,也有专门加我好友跟我道谢的朋友。你们的认可是我持续输出的最大动力。
有赞扬自然也有批评,有些朋友说我某个知识点没提到、评价Demo难以理解、吐槽技术点过时。。。真的,我诚恳接受每个批评,将努力发掘和改正这些不足。
我沉迷于将一个技术点一次性讲清楚,又常常选取一个大的话题,最终导致文章的篇幅都很大。这又需要准备很长时间,而这些时间都来源于工作、生活之余的零碎片段。思路非常很容易被打断,一不小心就错过某个细节,或者代码写得仓促,请大家多多包涵。
回到文章的标题上来,回顾下我与Android结缘的心路历程,这还得从那年高考讲起。
高考已过十年有余,那会儿的江苏高考已经很卷,一年一度的新政策搞得我们无所适从。还好我高二那年一鼓作气,势如破竹拿下小四门全A。可惜高考的时候还是大意了,即便我侥幸冲破了葛军
神卷的围堵,还是栽在了语文作文上。不会出问题的化学还是出了问题,痛失了6A
。在双重失利的情况下,艰难地挺过了一本线。
与理想的211大学
失之交臂后,只能在一众双非大学里碰碰运气了。路过江苏大学
招生座位的时候,他们的老师对我兴趣十足,想跟我签订个志愿协议:保证能上他们学校的四个好专业之一,最终录取则要按照我定的顺序来。他提供了车辆工程
、机械工程
、电气工程
、电子信息工程
这几个专业,事实上这个顺序已经按照分数线进行了由高到低的排名。
爸爸和我在前一分钟还不知道江苏有个不在南京的江苏大学(散装江苏还真不是说笑的)。我们对于这个大学和这些专业完全不了解,彻底犯了难。不知道怎么选,更不知道怎么排序。在这重要的抉择时刻,爸爸把选择权交给了我,让我按照自己的想法来(内心OS:呐,你自己选哦,选错了别怨我)。
面对这一众陌生又熟悉的名词,稚嫩的高三学生开始了他的内心戏:
所以我在协议上郑重写下了:电子信息工程
> 电气工程
> 机械工程
> 车辆工程
。是的,我把顺序完美调了个头,哈哈。爸爸看到这个完全颠倒的顺序后,一脸疑惑,隐约不安。但确认了我坚定无比的眼神后,欲言又止,不想耽误我的远大前程。
结果可想而知,毫无悬念地被江苏大学电子信息工程专业成功录取。进入学校后我才了解到这几个专业的真实情况后,心里直呼草率了,捂脸。
加上高中老师“认真学,到大学就解放了” 的反复洗脑深深地影响了我,便开始混日子。翘课是常有的事,连高等数学
挂科了,都没激起我内心的一点涟漪。现在想来也不赖高中老师,这就是给自己的懒惰找的借口,哈哈。
考研是不可能考研的,进大学的时候我就笃定了毕业后直接参加工作,去挣钱。工作需要什么?当时的我浅薄地以为,表达能力、处事能力这些社交素质才是最重要的。可这些本事,学校里不教啊。那就到社会中去,去打工,玩命地打工,还能挣到零花钱。
在这样的“指导思想”下,大学的寒暑假,几乎都在打工中度过。前前后后在台湾仁宝
代工厂做过工人,在日本妮飘
面纸厂做过保安,在苏宁电器
卖过步步高
手机(那一整个暑假,耳朵都被宋慧乔的广告插曲统治着)。。。
大学里特别迷恋某位明星,就跟着一起痴迷Hipop
文化。喜欢的歌以说唱为主,看的书都是日韩、港台潮流杂志,外在就更“嘻哈”了:染一头金色头发、打个“钻石”耳钉、戴个夸张的耳环、穿一套炸街的嘻哈服装。从里到外都很Real
,简直就是学院里最靓的仔。那个时候Hipop
没现在火,知道和接受的人很少,我在他们眼中特别另类,但我不Care
。打工得来的大部分钱也都花在了置办这些行头上,在淘宝还不流行的年代买成了淘宝的五星买家。
看似充实的大学生活,难掩空洞和无聊。除了帝国时代
和文明
的陪伴,就通过画画、练字来排遣这无病呻吟的时光。
浑浑噩噩地熬到了大四,终于到检验我社交才能的时候了。信心满满地参加了多个宣讲会,最后竟没有一家企业欣赏我“名企”的兼职经历,连笔试机会都不给啊。接连遭受企业的无情毒打,我才认识到专业成绩和基础仍然是企业最看重的东西。 可这就被动了,书本这一块早就被我放弃了。当年可是村里的高考状元啊,要是连工作都没找到就太丢人了!这种焦虑的状况持续了一个多月。
工作还得继续找啊!痛定思痛,开始仔细地分析。恶补成绩和基础已经不可能了,那就去整点硬核的实习经验,在专业经验这块弯道超车。 恰好一个电子公司到学校招实习生,说是画PCB电路板子,还发正规的实习证书。这简直是雪中送炭,不拿工资我也得去啊。
到了之后就傻眼了,压根不是想像中的电子公司,而是一家装配电瓶车充电器的电子厂。算嘞,既来之则安之,给我画电路图就行。可他们让我们一帮学生到流水线上组装电路板,就是左手拿电阻右手拿二极管,在快速转动的传送带上放元件!过分!
才练习了半小时就得全部上流水线,我手忙脚乱地忙到几乎崩溃。联想到之前在代工厂的打工经历,心里直犯嘟哝:这哪是实习,分明就是打零工嘛,干上一年我还是找不到工作啊,简直就是在浪费时间! 我越想越气,越气装得越乱,越乱越被骂。情绪被逼到了极点,我甩开了电路板子,气呼呼地跟领班说:我,不干了!
管不了工人们鄙视的眼神,我像逃兵一样跑了出来,钻上了回学校的公交。一路上都在跟自己较劲:你就这么跑了对吗?这点苦都受不了以后能干好什么?跟爸妈吹嘘的实习证书又该怎么办?
复杂的情绪笼罩了一整天,直到晚上睡觉,还在为这事犯愁。
躺在床上,思绪不禁回到了三年前。那时的我对手机兴趣满满,选择了这个专业。如今专业四年即将划上终点,而当初的梦想却未曾踏出半步。 惆怅之余看了眼身旁的HTC G14
手机,突然想起店员曾说过它搭载了时下最火的Android智能系统。又回想起学校里曾经有过Android开发的培训广告,我不禁两眼放光:手机我有了,正好是这个最火的Android系统,那干嘛不开发个软件试试呢?如果能开发个完整的App,简历里、面试时不就有东西可说了嘛!
想罢,立马从床上爬起来搜索关于Android开发的一切。那个年代Android Studio
还没发布,开发资料更少得可怜。庆幸我学习能力还不错,顺利地装好了驱动、打开了开发者模式、搭好了Eclipse
和SDK
环境,这时候已经到了深夜。当G14成功运行了Hello world
的时候,我情不自禁地炸了一句“Yeah”,气得舍友直骂娘。那一刻我兴奋不已,因为我感觉找对了方向。
网上的资料少且零碎,第二天一早就去图书馆找相关书籍。谢天谢地,还真有一本Android相关的书。我抱着手里的“圣经”,虔诚地学习了各种控件的使用,小心翼翼地倒腾了两天,终于搞出了一个播放本地mp3的播放界面。看到这有模有样的成果,成就感爆棚。于是乘胜追击,加了很多小功能:音乐封面、上下首、播放模式、文件列表、主题切换、启动画面等等。
大概又搞了一个礼拜,一个完整的音乐App成型了。我把杰作安装到G14上,随身携带。面试的时候时不时拿出来演示一番,顺带着复述着那些似懂非懂的API。 那个年代懂Android的人很少,我如愿以偿地找到了Android开发工作。我清晰地记得拿到Offer后,爸爸在电话那头的兴奋。在他们不看好的方向上获得成功、受到认可的感觉真得很棒!
打那以后,我对Android的兴趣一发不可收拾。在学校的最后一点时光里,总忍不住开发个小Demo把玩把玩,时不时地刷个新Rom体验体验。G14很快就被折腾不行了,对我而言这是一部意义非凡的手机,多次搬家都不忍丢弃。 如今那个启蒙App早已找不着了,很想找来跑一跑,康康当时写的代码有多烂、界面有多丑,哈哈。
说不清是音乐App助我找到了工作,还是自学Android的热情打动了公司,给了我机会。
我有幸一直从事品牌手机的ROM开发工作,从开发第三方App、到修改系统App、再到定制Framework;从面向Bug编程、到面向对象编程、再到面向产品编程,一晃已过了七年!
临笔前特地到官网瞅了一眼这些年开发过的Android设备,有20多部。当这么多部造型各异的手机和平板,平铺在电脑面前时,回忆历历在目、感慨不已。
成长为安卓老兵的同时,外在也不可抗拒地发生变化。发际线渐渐失守,眼镜戴上就摘不下来了,身形也渐渐走样。好像也不全是坏事,它们提醒着我在工作、生活、学习的同时,时刻关注身体健康。
如果大四那年没有在电子厂里撂挑子,我大概率不会自学Android。可能最终也能找着工作,但极有可能不会从事我如今热爱的Android行业。
我很荣幸参与和见证了这个行业的发展,这些年它变化太快,像是一场狂欢。从颠覆移动领域的变革时代,到移动互联的红利时代,再到如今内卷严重的存量时代,各方都在努力地维持或改变:
移动互联的落寞必然引发Android市场的紧缩,企业对于Android群体的要求将持续拉高,Android开发的内卷加剧则是不争的事实。 如果热爱Android、对Android仍有信心,时刻保持技术人的好奇心和探索欲吧,对新技术以及新领域:
AAB
、Jetpack
、Kotlin
、Compose
、Flutter
。。。智能座舱
、划时代的自动驾驶
、万物互联的鸿蒙
、一统Android和Chrome OS的Fuchsia
。。。I always knew what the right path was. Without exception, l knew, but l never took it. You know why ? lt was too damn hard.
这是我最喜欢的电影《闻香识女人》里迈克中校的感人自白:“无一例外,我永远知道哪条路是对的。但我从来不走,因为太XX难了”。知易行难
,这无疑是古今中外、亘古不变的难题。它关乎的东西太多:改变
、自律
、坚持
和成长
,哪一个都不好对付。
如今的我早已被生活磨平了棱角,渐渐丢掉了当年的那份冲劲和激情。但每每想起当年那个敢于说不、熬夜自学的我,感慨之余多了一份坚持。
也许你也曾踌躇满志、无疾而终,记得想想最初的自己,你会找到那个答案。
正值毕业季,祝福即将踏入社会的新朋友,以及社会中浮沉的老朋友,都有个淋漓尽致
的人生!