581fb43e9aa6b7f13eb999b4f1c5961a
007 | 快速入门 Android 开发的正确姿势

前面我已经花了6篇文章的篇幅专门讲如何学习的话题,接着就要开始进入大量的快速学习了。我们先从各个端的入门基础学起,包括Android、iOS、前端、Java后端,每个端我会分别使用一篇文章来聊聊如何快速入门。本篇先从快速入门Android开发开始,这主要是为iOS和前端开发人员准备的Android快速入门指南。

Java基础

因为Android目前使用的还是Java语言,而且后端主要也是Java,所以Java必须学一学。另外,虽然Kotlin已经被官方支持,但目前依然还是小众化,学不学主要看个人喜好。如果要学的话,我的建议是学了之后要用起来,如果学了之后不用,那基本等于白学。

学习一门新技术一般可以通过三种途径:视频教程书籍学习网站

视频教程一般讲得比较详细,又不需要自己思考,所以入门是最容易也是最舒服的;但缺点就是耗时太长,也缺少思考,学习起来就相对低效。因此,我一般不看视频,因为我追求的是高效的学习。不过,还是介绍些学习Java的视频教程吧:

书籍方面,我只推荐两本:《Java核心技术(卷1):基础知识》(以下简称核心技术)和《Java编程思想》(以下简称编程思想)。核心技术写得通俗易懂,内容也很详细,非常适合作为入门级书籍,我当初就是看这本书入门的。编程思想则主要偏向于讲如何使用面向对象思想进行Java编程,切入角度和核心技术不同。对于缺乏编程经验的初学者,编程思想会比较难看懂;但对于已有两三年编程经验的开发者来说,其实并不难理解。我的建议是两本书对照着看,如果你看编程思想不会觉得很吃力,那我建议你以编程思想为主,核心技术为辅。不过,很多人看书的习惯——尤其是看入门级书籍的习惯是从头看到尾,这也同样是很低效的看书方式。高效的读书应该是带着问题去读,有些内容可以跳过不看的就跳过,尤其是对于我们这些已经有了编程基础的开发人员来说。比如说,我们要了解这门语言的数据类型,那我们只要知道有哪些数据类型、分别怎么定义、有哪些需要注意的点等就足够了,而要了解这些,是不需要将书中讲数据类型的章节内容全部看完的。

学习网站主要分为两类,一类是官方出的详细教程,一类则是第三方整理的简明教程。简明教程其实非常适合作为快速入门的起点,这里我推荐一个Java教程:

http://www.runoob.com/java/java-tutorial.html

那么,我推荐学习Java基础的方式就是:先看简明教程,然后对于一些想了解得更详细更深入的知识点,再去翻书看相应章节的内容,如果看了书也看不明白,那可以找相应视频部分的内容来看,如果还是无法理解,那可能是你当前的水平还有限,你可以请教专家或先记着,等水平精进后再去搞懂它。

另外,因为我们当前阶段的目标主要还是为了快速入门Android,所以Java这块能了解基本用法就足够了,后面学习Java后端开发时再去深入即可。下面我简单列出一些必须掌握的知识点:

  • 数据类型:分基本数据类型和引用数据类型两大类,基本数据类型有:byte、short、int、long、float、double、char、boolean;引用类型有类、数组和接口。每种基本类型对应也有相应的包装类,例如,int类型的包装类为Integer类。基本数据类型和引用数据类型在内存中的存储是不一样的,基本数据类型直接存储到内存栈上,而引用类型的“引用”和“对象”则分别存储在内存栈和内存堆里。
  • 字符串:字符串是引用类型,要熟悉字符串的各种操作,包括字符串的创建、拼接、格式化等,也要了解String、StringBuffer、StringBuilder的区别,最后,推荐使用StringBuilder而不是StringBuffer。
  • 变量和常量:Java有三种变量类型:静态变量(类变量)、实例变量、局部变量。常量就是用final关键字声明。
  • 运算符:包括算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符等,要注意一些和其他语言写法不同的运算符。
  • 控制流:if…else、switch、while、for等等,和其他语言基本一样。
  • 访问权限:private、protected、public以及默认四种。
  • 数组:了解数组的创建和处理即可。
  • 方法:要了解方法的定义、调用、重载,还要注意方法的参数是值传递,即传递进方法的参数是原有参数的拷贝。
  • 面向对象:对象、类、抽象类、接口、继承、多态等这些面向对象的概念都要理解。
  • 泛型和Lambda表达式:泛型的概念、定义和使用必须熟悉,Lambda表达式可以减少代码量,使用也比较广泛了,也要熟悉其用法。
  • 集合框架:List、Map、Set等集合框架要熟悉。
  • 异常处理:try…catch用法也要熟悉。
  • IO和线程:输入输出流和线程也要熟悉。

Android基础

学习Java基础只要了解语言本身就足够了,但要学习Android基础,需掌握的内容则相对多得多,毕竟,Android是一套系统,而Java只是一门语言。要学会Android开发,除了要熟悉Java语言本身,还要学会开发工具Android Studio的使用、Gradle的用法、熟悉四大组件、熟悉UI控件和布局、熟悉网络编程、了解常用的第三方库等等。

先推荐一些比较好的学习资源吧。视频方面,大部分人依然推荐Mars老师的《Android开发视频教程》,总共有五季,我看了一下,入门学习的话只看前两季就可以了,主要还是为了帮助理解一些基本概念。这里给有需要的人提供下我的百度网盘的下载链接:

top Created with Sketch.