「 Android攻城狮进阶之路 」——学无涯,前行之路莫言终!

一、引言

学习本来就就是一条没有止境的路,路途中会有阻碍前行的“河流”、拦路的“山峰”、不必多想,勇往直前就好!千万不能放弃,坚持是最重要的,成长和收获就在前方等着你。

二、前事回顾

先了解一下个人经历:

1.大学与专业

大学:湖南工业大学
专业:工业设计
一个上识天文,下通地理,博学古今中外,会画图,会n个软件,需要无限创意的神奇专业

说白了就是设计一些可供生产的产品:
小到牙刷铅笔,大到汽车飞机,或者说everything
因为设计的本身就是对世界的认知和再创造,只要有能力便可以进行设计与创造

所以,工业设计需要广泛的知识面,这正让我各方面知识储备的来源,
还要各种软件的使用(这让我有很强的软件使用经验):
二维的软件:PS、CAD、AI、AE 三维设计软件:SolidWorks、3dMax、ProE等,
以前很熟练,现在就PS还保持,(因为偶尔修修图,画画图的)所以自称半个艺术家,这也是我文章里配图比较好的原因,因为是自己画的

大学的熏陶让我对表现力十分执着,我希望通过更好的表述让别人对复杂事物有更好地理解
可以说我学的也不是非常好,因为和主流设计理念不怎么合(我并不怎么想设计已经有的东西)
再加上我的绘画水平也是半吊子,能拿得出手的实在不多,下面两幅凑合看看

2.大学对我的影响

陶冶了情操,炼就一颗对事物广为容纳的心,以及对万物的思考
望远镜,显微镜,文学,数学,哲学我尽量拓宽自己的视野,然后去思考一切的联系
作为一个理科生,我对文学可以说十分热爱,大学可以说是看了一箱书
我对的执着,便是我对境界的执着,创作过很多自认为非常优秀的作品,也获过奖

虽然喜欢文学,但也从未放弃对理性的思考,数学可以说是我离得最近,离我最远的东西
由于算半个设计,高数学得非常浅,深层的高数基本都是自学的(如果这都不算爱)
对数学的热爱也促进了我的分析能力,以致尝试去从理性和感性两方面去思考这个世界

想得多了,必须要记录与总结,为了能更好的表达自己的思想,诗是最佳选择
于是境界一词注定伴我终生,我希望不断突破自己的想象力与瓶颈,用我的语言表达出这个世界
思考事物之间的联系可以说误打误撞以后的编程思想打下很好的基础


三、Android工程师生涯的开端

我把学习编程当做一次远航,想要去见证,海的彼岸是何种风采这远航并非坐船,而是去铸造一座通往海的彼岸之桥。知识的积累便是这座桥的木料,我要通往海的彼岸,同时也要留下一座桥供后人去走。于是记录成了我的习惯,现在看来,记录和整理是一件对coder至关重要的事,文件如此,代码也如此,标记与整理在我看来是一个超重量级的话题。

1.初遇编程

大学中有两次与编程的接触:
第一次是C语言的课程----过了就没有再去深入
第二次是大学想要自学C++----可是没几天就放弃了(感觉作用不大,当时还有更重要的事)
个人一直认为,作为21世纪的青年,不会点编程总感觉对不起自己。


2.从单片机到Android

工作之余,是有些自己的时间的,然后我就广泛发展兴趣,有一阵子,想去玩单片机。然后就买了很多零件,第一次将代码烧录到单片机里,完成一闪一闪的灯时的心情记忆犹新。入门的代码很简单,大学C语言那点底子还是够用的,记得是2017年过年期间,都在玩单片机。然后寄存器,运算放大器,排组,很多传感器模块……进入了我的世界。用电子显示屏和时钟芯片做出了电子时钟之后,本来打算玩Linux开发板的,但是感觉有点贵。想着安卓不就是块生产好的开发板吗?去玩玩Android呗。然后我们就相遇了,

然后一入宫门深似海,从此硬件是路人...

3.我选择Android的几个原因

1).经常用,但对其一无所知,这让我无法忍受,就像有一个华丽的盒子却从未打开过
2).有手机,有电脑,别人能玩,我当然也可以,而且我相信自己的分析力
3).小时候一款叫"地心游记"的手机自带小游戏,怎么找也找不到安卓版,所以...
4).我想让自己的数学知识有些用武之地,毕竟日常只需要初中水平...
5).我喜欢文学,并非什么华丽的辞藻,而是语言本身的表述力
编程作为与计算机交流的语言,其表现力与我的境界追求并不矛盾

四、深入Android所遇到的瓶颈

1、初入Android与第一瓶颈

2017年3月31日 被我标记为自己的编元日,便是我进入Android的日子
只有一点微薄的 C++ 语法支撑(单片机时自学了一点C++)和微薄的单片机硬件常识
就这么轻装上阵,踏入了Android,一开始肯定跟着视屏学,第一个HelloWorld记忆犹新
当时还是用Eclipse,装Java、下软件、装插件和下SDK,当时连Java是什么都不知道
跟着视屏一步一步来,弄了大半天,第一个项目总算跑起来了

说说感想:C++自学了一个月,也就是在控制台和cmd上运算或输出
安卓里一下就可以显示到手机上了,开心和激动,有种I can 的感觉
这种所见即所得心情,是很让人有成就感的,因此与Android"一见倾心"

前期也没有什么学习方法,跟着视屏依葫芦画瓢,类比与修改知道了那语言叫Java,以前一直以为Java是一个小游戏...
也不断发现 C++ 和Java的异同点,感觉Java容易一点,便觉得也没有太大的困难然后思考与总结,表象上大概明白了安卓怎么运行,知道改哪里界面上会有什么改动就这么稀里糊涂的把Android的布局和基本的View过了一遍setOnClickListener一直不明白是干嘛的,只知道:这样写,点击就有效果

"地心游记"一直是我的心结,有了点基础后我找了个数独小游戏的教程看,然后发现那点编程老底完全不够用,第一瓶颈出现了:编程基础以及复杂逻辑的控制薄弱ArrayList,Map,回调...都不知道,即使如此,学到一半了,也硬生生的跟着视频敲完了。
当时有些动摇,这真的hold不住,太复杂了,逻辑控制根本把握不住,而且这也仅是数独而已。我是打算在Android中把Java学会的,有种会10+10之后,自然会1+1的心态,我并没有转战Java,而是挑了一个更大的坑,就是植物大战僵尸,也是跟着视频敲的。现在想想真的挺傻的,用Android版的cocos2d,唯一的收获也许就是对对象.方法名的深刻认知

2、我在突破Android第二层瓶颈时写下:

曾经的安卓对我来说,像一个黑匣。
从我决定打开的那刻,一切已然不同。
它是无数的残片,看上去一无所知,
就像孩子看到万片拼图混杂的心情。
畏惧与兴奋,和期待,
期待拼图完成后是什么样的风采。

我想要见证它的风采,
想要站在更高的层次看清它是什么。
于是我开始向那片海前进,
渡过那片代码的海洋,通往新时代地方。
现在,我拼完了一角,而在这个时刻,
它的宏大已经完全充盈了我的视野。
它也已不再仅是一幅画面,
在我眼前的分明是一个世界,称为境界

三、我是怎么在学习之路上突破瓶颈的?

瓶颈,生活上都会遇到,比如学习、工作、思想,但是这一切并不可怕。想要突破瓶颈的第一道关卡是想把心态调整好,心态是最为重要的。千万不要遇到瓶颈就自暴自弃、放弃抵抗,如果这样,这一道关卡永远都是“死门”,你也永远通不了关。

1、调整心态

提高心理承受能力必须要求我们有一个健康的心理。我们首先要明白一个道理,那就是我们做任何事都存在成功和失败两种结果,以及快乐和痛苦两种选择。很多人的成功是建立在无数次失败的基础上的,有喜怒哀乐才是真正的人生。

良好的心态能让我们在面对困难、挫折时从容不迫,冷静思考...所以我在面对瓶颈时时常会在心里暗示自己一定能行~

2、学习要有系统性

学习要有系统性,一味的死学是达不到任何效果的,如果你在你原来的学习方法上面看不到希望,那不如尝试系统性的学习方法。。。

分享一波我的系统性学习资料,可以说是全方位学习Android最好的资料了~

Java知识点:JVM、String、内部类、多态、抽象和接口、集合框架(Hashmap、Arraylist)、单例、线程、Synchronized、Look锁、动态代理、引用

Android基础知识点:四大组件、View、进程、Bitmap、屏幕适配、消息机制、线程异步、WebView。

Android扩展知识点:ART、Apk优化、Hook、Proguard、架构(MVC/MVP/MVVM)、Jetpack、NDK开发。

Android源码知识点:Leakcanary、Eventbus

设计模式知识点:面向对象六大原则、工厂模式、单例模式、建造者模式、观察者模式、适配器模式、策略模式、代理模式

算法知识点:排序、二叉树、链表、栈和队列、二分、hash表、堆、数组/双指针、字符串处理、动态规划

网络知识知识点:Http(缓存、Https、Http2.0)、TCP(三次握手四次挥手、socket)、类加载器

目录(部分截图):

部分内容(截图):

四、总结

现在,很少有哪个岗位的人像程序员这样需要持续不断的学习,软件开发的技术日新月异,而每一项技术又往往博大精深,如果不持续深入专研学习,肯定是很难掌握的,那就更别谈精通了。

如果你对Android技术不能深刻理解熟练应用,表现出来的水准仅仅是能干活、还行,那很少会有公司愿意为“还行”付出大的代价,只有脱颖而出,才能备受重视

————文章中所展示的《Android系统进阶资料》“——————点击此处加入即可获得


 


 

猜你喜欢

转载自blog.csdn.net/qq_39477770/article/details/108829660
今日推荐