Android初学者的疑惑与“死板”的Android初学之路

来源:互联网 发布:聚友网络股份有限公司 编辑:程序博客网 时间:2024/06/06 12:51

今天11点多的时候刷新了一下自己的博客,发现已经被CSDN授予了“博客专家”称号。作为一个自学的一年多的大二学生来讲,这对我真是莫大的鼓励,真是感谢CSDN!在此,也是分享一下自己的经历,希望能够给初学者以及后辈们一些帮助。

(右图为读者目前知识树)

   


个人经历:

专业:

普通本一计算机科学与技术专业(没有开设Android课,自学)

大一上:

学校ACM OJ刷300+道题(仅认为算法重要,并没有参加学校ACM打比赛),同时也开始了解考研与工作的区别等,完成大学四年大致规划。

大一下:

加入学校技术组织,开始学习Android,并且确定Android为自己将来要走的路。

大二上至今:

进入学院实验室,跟着导师做项目(项目都有关物联网,软硬结合)。独自负责两个项目的Android客户端,另外也学习了写文档,团队交流等等。

 

在开发群交流的时候,经常会有一些初学者问我这样一个问题“为什么你大一下就开始自学Android了,基础够吗,没有java基础怎么学”。

1、笔者大一下的时候就开设了C++专业课,并且学的不错,了解了OOP思想后,其实入门Android并不难。当然也是碰到了许多JAVA上的问题,比如java与c之间socket通信,java的split(),java串的处理等。这些知识其实都是实际项目中经常涉及的,只是可能每门语言上处理都不太一样,碰到一点学一点基本是没有问题的。

如果读者和笔者经历一样(C#,JAVA,C++等都是OOP思想),并且已经确定了Android的兴趣,不要犹豫,直接开始学吧。你的畏惧只会把你的热情磨损殆尽。

当然,如果是完全编程零基础的读者,笔者还是推荐先学习一下JAVA。直接学习、跨度太大会让自己有很大的挫败感。

2、技术的学习,我认为没有学历、年龄的界限。在技术界真的不乏一些年少的天才(笔者和他们相差甚远),他们开始学习的时候难道去思考“自己没有XX基础,学习会不会遇到瓶颈”之类的问题吗?

有兴趣即可,遇到问题就去解决啊。


下面就是一些干货了。

网上其实已经有一些比较厉害的前辈些的Android学习的路线了。在此推荐两篇。

Stormzhang Android学习之路

任玉刚 Android学习路线指南


为何再写“Android学习之路”?

虽然对于有经验的读者来讲,技术学习已有自己的“套路”,但是对于新手,博客中巨多的知识点往往会让其产生畏惧,新手更偏爱于“死板”的学习路线,即“非野路子”,可效仿的学习之路


笔者仅以自身经历总结,读者选择借鉴。

一、刷书,至少学完一本书。(理解书上每一个知识点,而不是仅仅看过)

推荐《第一行代码》、《Android疯狂讲义》、《Android编程权威指南》。

《第一行代码》是最适合新手学习Android的书籍,至少此时看来没有之一。不过《第一行代码》是基于Android4的,第一版出版时间为2014年8月,第二版还没出。由于官方API的改动,书中的一些知识点现在看来不乏有错误的地方。但是瑕不掩瑜,其通俗易懂和知识点的丰富还是深受读者好评。

《Android疯狂讲义》和《Android编程权威指南》在笔者看来可以作为学完《第一行代码》后的深化,这两本书能够继续帮你扩展知识面,选其一即可。当然,学习能力强的读者不学习《第一行代码》直接选择这两本书也完全是可以的。

二、做项目。

关于做项目的好处,笔者已经在另一篇博客中讲到过了,在此也不复制粘贴增加篇幅,有兴趣的读者可以自己看一下:

android 第一个项目完成! 阶段总结

在学完一本书后就完全可以开始做项目了,不过也是得边做边学新的知识点。

科班大学生可以与笔者一样考虑进入学院实验室,这个也不多说,基本你愿意学,肯努力,去找导师谈一下,导师就会收下你。不过,进实验室也并意味不了什么,还是要自己学,导师基本只有在觉得你能力够的时候才会给你项目做。

那么没有这样的资源怎么办呢?靠自己也完全没有问题,可以仿照网上一些APP自己做,遇到不会的知识点就自己去学习。比如新浪微博,知乎日报等都是新手经常仿写的一些APP。

在做项目的时候读者一定要时刻记得,这是一个自我提高的方式,千万不要“为了做项目而做项目”。每遇到一个不会的知识点,都应该值得庆幸,因为这正是你做项目的意义所在,当你一个个克服这些的时候,就是自我提高了。

三、当做完一两个项目,读者应该已经有自己自学的一些心得了。这时候的自我提高就会显得比较灵活了,可以是书籍、也可以是大牛博客、也可以官方文档。

官方文档:笔者很认同一句话:“官方文档是最好的教科书”,但是并不适合新手直接学,笔者建议有能力的读者一定要学习一遍官方training。很多大牛博客中为了将某些知识点容易让人理解,可能会产生让读者误解的情况。但是官方文档不会,其中都是规范的解释,而且不会错。另外,看官方文档往往也会让读者有一些惊喜,官方详细的解释会解释读者心中的很多疑问。

中文官方training:http://hukai.me/android-training-course-in-chinese/basics/index.html

 

书籍推荐:《Android群英传》、《Android开发艺术探索》、《APP研发录》。

要点:这时候大家学习,就不需要和入门时一样了搞懂所有的知识点了。(不过进程间通信,图片缓存,消息处理,线程之类,事物分发机制等等,这些还是需要都懂的,属于基础。但是可以根据需要决定学习先后。)

一方面,Android如此庞大的一个操作系统,你要去学会所有的东西谈何容易。更何况谷歌公司也是在不断更新Android,不断推出新的版本,废弃旧的用法,如果仅仅学习一些表面的东西,那么不仅自己疲于奔命,更是故步自封。学习可以更偏向于原理方面的。

另一方面,每个人的工作需求和个人方向不同。有的开发者偏向于动画制作,有的偏向于缓存处理,有的偏向于View的绘制等。个人的精力是有限的,所有的都要学会基本是不可能的,但是在学习中培养出的学习能力和学习经验是不会变的。一些表面的或者简单的框架,采用“用到什么就去学什么”的方法完全是可以的。

 

最后,也是推荐新手都可以写一下博客,这点也是笔者受益匪浅的。一方面,能在前进的过程中通过写博客获得一定的成就感,另一方面,写博客本身也是对自我的知识树的一个整理。

笔者对写博客的一些看法:对系统学习与写博客的看法——学完《第一行代码》有感

 

12 0