故事的前奏
今年七月,暑假伊始,我和一直一起做项目的两个小伙伴报名参加第五届广东省电子设计竞赛,我们的课题是做一个智能手表,基本功能有手表本身计步、时钟温度这些最基本的,还有与安卓手机端交互的功能。我和伙伴之前做的项目都是比较简单的单片机系统,大家的分工也会有所交叉,但这次整个系统较为复杂,必须任务细分,所以明确三个人中一人负责硬件、一人负责单片机、一人负责安卓上位机端,而我一开始分配的任务竟是硬件!画了一个早上板子,实在进行不下去,就和另外一名伙伴互换任务,当然他之前也没接触过,所以不需要互换成本。就此我正式踏上了安卓学习之路。我原本想走的方向是嵌入式软件层,相对于硬件,这无疑是更适合我的任务。
故事的开头
7月23日,如果我以后还一直从事这个行业的话,那我永远也不会忘掉这一天。那天,我从图书馆借了三本国产的Java书籍,这是我一个习惯吧,看书通常都会两本对照着看。之前玩单片机也有一点C语言的底子,Java最基础的知识还是容易理解的。我原本是想给自己一个礼拜时间,进了8月才开始正式弄安卓的,但是迫于项目真的很紧急,也不想因为自己的原因拖累整个团队,啃了三四天的Java就开始忙着搭建安卓开发环境了。一开始搜索网上的方案,被各种什么SDK、ADT、AVM搞得晕头转向,而且还有版本兼容性什么的,实在烦人!后面想到自己去官网看一下,没想到第一次进入官网就有重大的发现adt-bundle-eclipse(当然现在是Android Studio了,不过我的渣机器跑起来很卡,所以现在还是用着eclipse),再也不用那么多繁琐的动作了,一步搞定。虽然这头Java还很不熟,但马上又到图书馆借了几本Android的书籍......
因为需要和手表交互,安卓上手的第一个任务就是蓝牙开发。这对于一个连Java都不熟悉的人来说,无异于还没学会爬就要试着走了。我跟着网上的Demo敲,但是屡屡失败,我很担心因为自己的安卓端搞不出来而拖累了整个团队,最后甚至连作品都拿不出参赛!持续几天依然没有任何进展,我哭了,大学里第一次也只可能有一次......整个暑假,宿舍只有我一个人,平均每天学习10个小时左右,8月底我基本完成了团队设定的所有功能,开始在实验室和伙伴一起调试整个手表。我们的作品最后获得了省电设的二等奖,视频链接:http://www.amobbs.com/forum.php?mod=viewthread&tid=5595719&page=1#pid7879510
故事在继续
熬过了暑假,大三的我正式确定,走移动开发这个方向。一开学,我觉得自己非科班出身,所以必须先恶补一下计算机的相关知识,整个学期下来自己陆陆续续看了很多计算机专业相关书籍,什么计算机组成与原理、编译原理、操作系统、计算机网络、数据库、设计模式、数据结构与算法,各种书籍都看了个遍。虽然最后接收的知识可能只有15%~20%,但我觉得至少自己对一些最基础的知识有所了解。当然除了补习计算机基础知识之外,Java/Android的学习当然不能停,thinking in java读了又读,effective java尝试进阶,JVM也试着了解;中间也做了两个Android实战项目,一个是天气方面的App,仿照别人的、一个是按照自己想法来做的短信订餐App,总之尽量做到每一天都有在学习Java/Android.....
小插曲
这个学期宿舍来了三个师弟(我们学校是混宿制的),由于生活作息习惯的种种不同,几乎整个学期都没有好的睡眠质量,最后也发生了冲突,这几天忙着期末复习又要忙搬宿舍的事,实在有点恼人。今天,在2014年的最后一天我搬到了新宿舍,希望给自己的2015开个好头吧!
既然选择了这个方向,就只想一心一意地搞,这学期基本上也没怎么听过本身专业的东西,平时的作业着实有些难以应付,现在到了期末,更得复习那些天书般的专业课!so sad~~
故事仍会继续
2015,培养良好的编程风格和习惯、看书要看得更深入、利用好github,暂时只能想到这么多了。原本还有很多话想说,但等下马上要搭夜车过广州,现在要收拾一下东西了。
2015,总之就是要继续进阶地学习Android!加油!!!