
1.2 准备开发所需的工具
现在你已经知道Android是什么并且知道它能做些什么,我相信你已经迫不及待地想要开发一些Android应用了。但是在开始开发第一个应用之前,还需要准备好一些必要的开发工具。
可以在装有Mac、Windows或者Linux系统的电脑上开发Android应用。Android开发中所有的必备工具都是可以免费获取的。本书中几乎所有的程序示例都是在Android Studio中开发的。笔者使用的是Windows 10操作系统。如果你使用的是Mac或者Linux系统,本书中出现的截图会和你在电脑中看到的大致相同。即使稍有区别,也不会影响你的操作过程。
现在就让我们开始这段奇妙之旅吧!
Java JDK 8
使用Android Studio 2需要在电脑上安装Java SE Development Kit 8 (JDK)。如果你的电脑上还没有安装JDK 8,需要在进入下一步之前先到以下地址下载并安装JDK8:
www.oracle.com/technetwork/java/javase/downloads/jdk8-download-2133151.html
1.2.1 Android Studio
首先需要下载的最重要的开发工具是AndroidStudio2。当下载并安装了AndroidStudio2以后,就可以使用SDK管理器下载和安装多个不同版本的AndroidSDK。同时安装多个版本的AndroidSDK可以使你能够为不同设备开发应用。例如,你可以开发一个针对AndroidNougat的应用,但是现在只有不到1%的Android手机使用这个系统。由于安装了多个版本的AndroidSDK,因此也可以同时发布针对AndroidMarshmallow和AndroidLollipop用户的应用。可以使用Android设备管理器新建设备模拟器。
可从以下地址下载AndroidStudio2(见图1-5):

图1-5
http://developer.android.com/sdk/index.html。
Android Studio 2打包在一个可执行文件中。运行该执行文件安装和配置Android Studio 2。当下载并运行安装程序以后,可通过以下步骤完成安装:
(1) 接受如图1-6所示的使用条款。

图1-6
(2) 如果在你的电脑中已经安装了旧版本的Android Studio,安装程序会自动提示你卸载旧版本。虽然旧版本的Android Studio被卸载了,但是所有配置都会保留。因此当你安装完毕后,仍可以在Android Studio 2中继续使用之前的配置。如图1-7所示,安装程序自动提示你卸载旧版本的Android Studio。

图1-7
(3) 在Welcome to Android Studio Setup界面中单击Next按钮(如图1-8所示)。

图1-8
(4) 如图1-9所示,选择想要安装的Android Studio组件。Android Studio是默认选中的(并且不能取消),显然我们的目的就是要安装Android Studio。Android SDK和Android Virtual Device也是默认选中的。我们就使用默认设置,单击Next按钮继续安装。

图1-9
(5) 如图1-10所示,我们会看到一个License Agreement界面。单击I Agree按钮并继续安装。

图1-10
(6) 在安装配置界面,最好使用安装程序指定的默认位置并单击Next按钮。然后我们会看到Choose Start Menu Folder的界面(如图1-11所示)。单击Install按钮开始安装Android Studio 2。

图1-11
(7) 由于不同的电脑配置,安装Android Studio 2会需要一些时间。你会看到一个安装进度条,它能够帮助你跟踪安装状态。Android Studio 2会同时安装一个默认的SDK,在笔者的例子中是Android Marshmallow。在后面的安装过程中,你有机会选择安装其他SDK。Android SDK允许你为特定Android版本编写应用。也就是说,基于Marshmallow SDK编写的应用可以在运行Marshmallow的Android设备上使用。如果应用中没有使用SDK特定的功能,那么它可以在其他Android版本上使用。
(8) 安装完毕后,将会看到一个Completing Android Studio Setup界面(如图1-12所示)。保持Start Android Studio复选框为选中状态并单击Finish按钮。

图1-12
(9) Android Studio 2会询问你是否使用之前旧版本中的配置或者使用新的配置。如果在第一步的安装过程中卸载了旧版本,Android Studio会询问你是否在新版本中使用旧版本的配置信息(如图1-13所示)。

图1-13
现在我们已经成功地安装了Android Studio 2,你需要通过以下步骤做一些相应的配置:
(1) 在Welcome界面中单击Continue按钮。如图1-14所示,在Install Type界面中选择Standard,并且单击Next按钮。

图1-14
(2) 在Verify Settings界面中单击Finish按钮,完成Android Studio 2的安装。当整个安装过程结束后,你会看到Welcome to Android Studio界面(如图1-15所示)。
现在已经成功地安装了Android Studio。下面是时候下载最新最出色的Android SDK了。

图1-15
1.2.2 Android SDK
Android SDK是需要下载的整个软件中最重要的部分。它包括我们在开发应用过程中所需要的类和工具。SDK是根据与之对应的Android OS命名的。Android Studio 2会默认安装Marshmallow SDK,这就意味着你开发的应用可以顺利地在运行Android Marshmallow的设备上使用。
然而,如果想安装不同版本的Android SDK,也可以从Android Studio欢迎界面(如图1-15所示)启动SDK Manager来安装。在Android Studio欢迎界面的右下角,单击Configure下拉菜单。在Configure选择菜单中选择SDK Manager。
SDK配置界面(如图1-16所示)显示Marshmallow SDK已经安装。Android N可以安装(在撰写本书时,Android Nougat还处于最终的Beta版本,所以现在它可能不叫这个名字)。

图1-16
选择Android Nougat,单击Apply按钮并接着单击OK按钮。在SDK完成安装以前,你需要接受相应的同意许可,如图1-17所示。

图1-17
现在已经完成了AndroidStudio的配置过程。下一部分将详细讨论如何设置Android虚拟机。成功地设置了虚拟机,就可以在虚拟机上测试你的Android应用。
1.2.3 创建Android虚拟机
在本节中,将创建一个Android虚拟机(Android Virtual Device, AVD)。这样你就可以在虚拟机上测试Android应用。AVD是一个用来模拟真实设备的模拟器。每一个AVD由一个硬件配置文件、系统镜像、虚拟存储空间比如SD卡所组成。需要注意的是模拟器不是完美的。像游戏(非常依赖GPU)或者一些使用GPS传感器或者加速计的应用,它们无法保证在模拟器和真机上有同样的运行速度和一致性。但是,如果要测试一些普通的功能,模拟器还是一个很好的选择。
可以创建任意数量的AVD,使用不同的配置测试Android应用。这样的测试是非常重要的,它能够确定应用在不同性能的设备上能否正常运行。
按照下面的步骤创建AVD。这个示例演示了如何创建一个AVD(即Android模拟器),模拟一个具有Nexus5x的硬件配置,并且运行AndroidN的Android设备。
(1) 启动Android Studio显示Welcome界面(如图1-15所示)。单击Start a New Android Studio Project按钮。将会看到Create New Project Wizard界面(如图1-18所示)。
(2) 新建一个HelloWorld项目(在本章节最后部分会使用到)。在Application Name文本框中输入Chapter1HelloWorld。

图1-18
(3) 在NewProject界面中,可以保留其他文本框中的默认值(在后续章节中会详细解释)。单击Next按钮。
注意:为了快速地创建一个Hello World项目并且创建一个AVD,在项目创建的过程中,你将接受许多默认值,不需要任何解释。现在是没有问题的,因为所有的设置在随后的章节中会得到非常详细的解释。
(4) 你将会看到Targeted Android Devices界面。默认情况下,Create New Project Wizard将会根据Google Play统计数据为你选择使用率最高的Android SDK版本。当写作本书时,Google Play显示74.3%的活跃设备使用Android Jelly Bean。现在是接受默认值,如图1-19所示,单击Next按钮。
(5) 在Add an Activity to Mobile界面,接受默认选项——Empty Activity(如图1-20所示),单击Next按钮。

图1-19

图1-20
(6) 在Customize the Activity界面接受默认值,如图1-21所示,单击Finish按钮。如图1-22显示打开的Android Studio IDE界面。

图1-21

图1-22
(7) 选择Tools | Android | AVD Manager或者单击工具栏中的AVD Manager按钮启动AVD Manager。图1-23显示了Android Virtual Device Manager Wizard,你可以在桌面电脑上使用它来创建AVD,用来在Android中模拟应用。

图1-23
(8) 单击+ Create Virtual Device按钮新建一个AVD。我们会看到打开了Virtual Device Configuration界面,如图1-24所示。

图1-24
(9) 选择Nexus 5x硬件配置文件并且单击Next按钮。虽然没有一个模拟器可以提供与其真实硬件一样的性能,但Nexus 5x在大多数x86平台上应该还是可以正常运行的,并且它仍然能够提供中端到高端Android设备的硬件配置。
(10) 对于系统镜像,选择并安装最新的选项,当写作本书时,最新的选项是Android Nougat。单击x86 Images选项卡(如图1-25所示),在镜像列表中选择N,并且单击Next按钮。

图1-25
(11) 在Android Virtual Device(ADV)对话框中,如图1-26所示接受默认值。单击Finish按钮开始创建AVD。
提示:创建几个使用不同API版本和硬件配置的AVD,在不同版本的Android操作系统上测试你的应用是一个不错的选择。

图1-26
试一试 新建一个JellyBean模拟器
在本节的前面创建第一个Android项目时,创建进程确定Jelly Bean是在Google Play中最活跃的Android版本。在这个“试一试”练习中,你将手动创建一个Android Jelly Bean的AVD。
(1) 选择Tools | Android | AVD Manager或者单击工具栏中的AVD Manager按钮启动AVD Manager。
(2) 在Android Virtual Device Manager Wizard界面单击+ Create Virtual Device按钮。
(3) 选择Nexus 5x硬件配置文件并单击Next按钮。
(4) 单击x86 Images选项卡,从镜像列表中选择Jelly Bean,并且单击Download按钮。
(5) 接受用户许可并下载Jelly Bean SDK。
(6) 当SDK下载完毕后,(在x86 Images选项卡中)再次单击Jelly Bean并单击Next按钮。
(7) 在Android Virtual Device(AVD)对话框中,接受所有的默认值并单击Finish按钮。
创建AVD以后,是时候测试它了。没有比创建并运行Hello World应用更好的方法来完成这个任务了。
1.2.4 Android开发者社区
现在已经是Android的第7个版本了,在全世界的范围内有一个很大的Android开发者社区。寻找问题的答案或是寻找喜欢分享应用想法和经验的开发者都是非常方便的事。
以下是几个开发者社区和网站,当你碰到和Android相关的问题时可以在这里寻找帮助:
● StackOverflow(www.stackoverflow.com) ——StackOverflow是一个面向开发者的协作编辑问答网站。当你有和Android相关的问题时,也许有人已经在StackOverflow上讨论过相同的问题了。或是有人已经提供了答案。更好的是,其他开发者可以为最好的答案投票,这样就可以知道哪个答案是最可靠的。
● Google Android Training(http://developer.android.com/training/index.html) —— Google发布了一个Android培训网站,包含了大量有用的以主题分组的课程。当写作本书时,几乎所有课程都包含了代码片段。这些代码对刚开始学习基础Android的开发者非常有帮助。当学习完本书中的基础知识后,强烈建议你去看看那些课程。
● AndroidDiscuss(http://groups.google.com/group/android-discuss) ——AndroidDiscuss是一个Google支持的使用GoogleGroups服务的讨论组。这里,你可以讨论和Android编程相关的各个方面。这个讨论组由Google的Android团队维护,所以这里是一个解决问题或者学习提示和技巧的好地方。