一、引言
学习本来就就是一条没有止境的路,路途中会有阻碍前行的“河流”、拦路的“山峰”、不必多想,勇往直前就好!千万不能放弃,坚持是最重要的,成长和收获就在前方等着你。
二、前事回顾
先了解一下个人经历:
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)、类加载器
目录(部分截图):
image image部分内容(截图):
image image四、总结
现在,很少有哪个岗位的人像程序员这样需要持续不断的学习,软件开发的技术日新月异,而每一项技术又往往博大精深,如果不持续深入专研学习,肯定是很难掌握的,那就更别谈精通了。
如果你对Android技术不能深刻理解熟练应用,表现出来的水准仅仅是能干活、还行,那很少会有公司愿意为“还行”付出大的代价,只有脱颖而出,才能备受重视。
————文章中所展示的《Android架构师系统进阶资料》“——————点击此处加入即可获得”
image image
网友评论