Android是一种激动人心的开源移动平台,它像手机一样无处不在,得到了Google以及其他一些开放手机联盟成员(如三星、HTC、中国移动、Verizon和AT&T等)的支持,因而不能不加以学习,否则你承担不起为此付出的代价。
好在Android开发入门很容易,即使没有Android手机都没关系,只需有一台可供安装Android SDK和设备模拟器的计算机即可。
本章首先介绍如何安装所有的开发工具,然后再创建一个可运行的应用——Android版“Hello, World”。如果你并非Android新手,那么可以快速浏览本章,也可跳过本章,直接进入第2章。
1.1 安装工具
Android软件开发包(SDK)适用于Windows、Linux和Mac OS X,使用它开发的应用可部署到任何Android设备。
要进行Android开发,必须先安装Java、IDE和Android SDK。
1.1.1 Java开发包7.0+
首先,需要安装Java开发包(JDK)。所有Android开发工具都需要它,在编写程序时将使用Java语言。要求安装JDK 7或8。
注意 Mac用户可跳过这一小节,因为Android Studio会自动安装合适的JDK版本(如果你没有安装的话)。然而,有人提出,在Mac上存在JDK版本不匹配的问题。如果你遇到了错误,可参阅Stack Overflow网站1的故障排除技巧2。
1http://*.com/questions/24472020
2http://*.com/questions/16636146
仅安装Java运行环境(JRE)还不够,还必须安装完整的Java开发包。建议从Oracle下载网站3下载最新的Java SE 8 JDK进行更新。
3http://www.oracle.com/technetwork/java/javase/downloads
还需设置环境变量JAVA_HOME
,使其指向JDK安装位置。具体如何设置取决于所使用的操作系统。例如,在 Windows 7中,可以单击“开始”按钮,右击“计算机”并选择“属性”,再单击“高级系统设置”,然后单击“环境变量”按钮,再单击“系列变量”列表下方的“新建” 按钮,然后在“变量名”文本框中输入JAVA_HOME,并在“变量值”文本框中输入JDK安装目录。最后,单击“确定”按钮关闭所有的窗口并保存设置。
要核实JDK版本是否正确无误,可打开一个shell窗口(在Windows中,要打开shell窗口,可单击“开始”按钮,输入cmd并按回车键),并执行如下命令。后面是我执行这些命令时得到的输出:
C:\> java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
C:\> echo %JAVA_HOME%
C:\Program Files\Java\jdk1.8.0_31
你应看到类似的输出,其中的版本号为1.7或更高。
1.1.2 Android Studio
接下来,需要安装Java开发环境(如果还没有安装的话)。建议使用Android Studio,因为它是免费的,并得到了打造Android的Google开发人员的采用和支持。
务必使用最新的beta版或生产版。请访问Android Studio下载页面4,并单击Download Android Studio按钮。
注意 如果不想使用Android Studio(大千世界什么人都有),也可使用NetBeans和Eclipse等IDE,它们都有相应社区的支持。如果你非常老派,根本不想使用IDE,也可只使用命令行工具5。本书假设你使用的是Android Studio,如果不是这样,就需要做必要的调整。
5http://d.android.com/tools/help
Eclipse怎么了?
直到最近,大部分Android开发人员使用的依然是Eclipse IDE6和Android Development Tools。2013年5月,Google推出了Android Studio——一款新的开发环境,它基于JetBrains开发的IntelliJ IDEA7。
Android Studio的最大不同在于,它使用的是Gradle编译系统。Android Studio还提供了很多新功能,如经过重大改进的WYSIWYG编辑器、支持使用相同代码生成多种配置。Eclipse依然得到了支持,但大多数新开发 都将在Android Studio中进行。
7http://www.jetbrains.com/idea
下载并安装Android Studio后,启动它,并按屏幕指示进行操作。对于所有设置,都接受默认的标准值,即不断地单击Next按钮,并最终单击Finish按钮。下载并安装所需的一切可能需要几分钟,最终你将看到图1-1所示的界面。
图 1-1
这意味着已经成功地安装了Android Studio,可以开始开发了。
别忘了,Android Studio在不断地发展变化,因此你看到的界面可能会与本书所展示的稍有不同。在新版本中,默认文件名和目录也可能不同。如果遇到这样的差别,请相应地调整操作,并报告到本书的在线论坛8。
8http://pragprog.com/book/eband4
真是讨厌!好在你只需这样做一次。现在万事俱备,是时候编写第一个程序了。
1.2 创建第一个程序
Android Studio自带了多个示例程序,即模板。下面使用其中一个模板来创建一个简单的“Hello, Android”程序。这只需几秒钟就能完成。请准备秒表。准备好了吗?出发!
选择Start a new Android Studio project,打开New Project对话框。
将依次出现4个界面。其中,第一个界面要求给出应用的名称和存储位置,如图1-2所示。
图 1-2
将应用名设置为Hello Android,并将公司域名设置为example.org,Android Studio会自动填写其他内容。单击Next按钮继续执行。
第二个界面提示指定适用的Android版本,如图1-3所示。
图 1-3
选择复选框Phone and Tablet,并将Minimum SDK指定为API 16: Android 4.1 (Jelly Bean)。这一步很重要,请务必确保选择了正确的版本。接下来,单击Next按钮。
第三个界面要求选择要添加的示例活动的类型,如图1-4所示。
图 1-4
选择Blank Activity with Fragment,并单击Next按钮。
最后一个界面要求指定活动名和其他信息,如图1-5所示。
图 1-5
将活动名(Activity Name)改为HelloActivity,其他内容将自动被填写完成。
在本书后面的示例中,为了节省时间,我们将采用如下简化方式指出这些新建项目设置。
应用名:Hello Android
公司域名:example.org
尺寸:Phone and Tablet
最低SDK:API 16,Android 4.1 (Jelly Bean)
添加活动:Blank Activity with Fragment
活动名:HelloActivity
填写完最后一个界面中的相关内容后,单击Finish按钮。IDE将创建指定的项目,其中包含一些默认文件。接下来,IDE将对其进行编译和打包,为执行做好准备。
注意 在显示fragment_hello.xml的编辑器中,如果出现了有关渲染问题(Rendering Problems)的错误消息,不用管它,只需将窗口关闭即可。这是Android Studio中一个已知的bug。
向导将程序编写好了,你需要做的只是尝试运行它。下面,首先在Android模拟器中运行它。
1.3 在Android模拟器中运行
模拟器是一个程序,它运行在一种硬件上,却可以模拟另一种硬件。使用Android模拟器,几乎可在台式机上创建任何平板电脑、手机和可穿戴设备的虚拟版本。
要运行Android程序,可选择菜单Run➤Run 'app',也可单击工具栏上的Run按钮,如图1-6所示。
图 1-6
过一会儿后,将出现Choose Device对话框,如图1-7所示。
图 1-7
确定选择了Launch emulator,并指定了Android虚拟设备(AVD)的名称。单击OK按钮,运行程序。
将打开Android模拟器窗口并启动Android操作系统。首次这样做时,这可能需要一两分钟,请耐心等待。如果屏幕被锁定,请按说明轻扫鼠标以解锁。
Android Studio将程序的副本发送给模拟器并执行它。此时将出现应用界面,这说明“Hello, Android”程序正在运行,如图1-8所示。
图 1-8
如果几分钟后模拟器还没有出现,或者看起来像停止了一样,可能是由于你的计算机不与Intel硬件加速兼容。为解决这种问题,可新建一个AVD,并指定ARM处理器而不是Intel x86。更详细的信息请参阅8.1节。另一种解决方案是使用Genymotion模拟器9。
就这么简单!祝贺你编写了第一个Android程序。
1.4 在实际设备上运行
在开发期间,要在物理设备(如Nexus 5)上运行Android程序。做法几乎与在模拟器中运行时相同。在使用Android 4.2或更高版本的设备中,需要先启用开发者模式,即启动应用“设置”,再选择“关于手机”或“关于平板电脑”,然后轻按“版本号”7次(这是 Android开发者提供的一个复活节彩蛋);之后再启用USB调试,即依次选择“开发者选项”➤“调试”➤“USB调试”。
在计算机上安装Android USB设备驱动程序(如果没有安装的话,仅Windows系统需要这样做),然后使用设备自带的USB电缆将设备连接到计算机。
首次安装USB驱动程序时可能比较棘手。Using Hardware Devices页面10提供了最新的设备驱动程序及其安装说明。如果出现一个消息框,询问是否允许USB调试(其中还显示了你的计算机的RSA密钥指纹),请选择复选框Always allow from this computer,再单击OK按钮。
10http://d.android.com/tools/device.html
以后再运行应用时,该设备将出现在Choose Device窗口中。可以同时运行多个模拟器和设备,并在每次运行应用时都选择要使用的设备或模拟器;也可以选择复选框Use same device for future launches。如果设备没有出现在列表中,通常意味着,要么USB驱动程序有问题,要么针对的Android版本不对。
应用准备就绪后,要将其发布给其他人使用。这需要执行一些额外的步骤,将在第9章进行详细介绍。
缩短周转时间
启动模拟器需要很长时间。可以这样想象一下:开启手机时,它需要像其他任何计算机系统一样启动,而关闭模拟器就像是关闭手机并取出电池一样。因此,请不要关闭模拟器!
在Android Studio运行期间,应始终打开模拟器窗口。这样,下次启动Android程序时,Android Studio将注意到模拟器正在运行,因此只需要将程序发送给它去运行即可。
1.5 其他步骤
为节省时间,前面省略了两个步骤,下面来对其加以介绍。
1.5.1 检查更新
Android Studio还不是很成熟,修改频率比Android SDK高得多。你下载的版本可能不同于本书使用的版本,可能还会有一些独特之处。
有鉴于此,建议令其自动检测更新,以便立即下载并安装新的更新。还可以随时手动检查更新,为此可选择菜单Help➤Check for Update。
1.5.2 添加SDK包
Android Studio安装程序包含Android SDK和基本开发工具。然而,随着学习的不断深入,你可能会发现还需要其他工具。要获取这些工具,可运行Android SDK Manager。
在Android Studio中,选择菜单Tools➤Android➤SDK Manager。管理器将显示一个可用组件列表,其中包括文档、平台、插件库和USB驱动程序,如图1-9所示。
图 1-9
建议安装如下组件的最新版本。
Android SDK Tools:软件开发包。
Android SDK Platform-tools:低级工具,如adb(Android Debug Bridge)。
Android SDK Build-tools:编译工具。
Android 5.1(API 22)(或更高版本):安装最高版本的所有组件。
安装类别Extras下的如下组件。
Android Support Repository:gradle需要它。
Android Support Library:用于与较旧的Android版本兼容。
Google Play services:增值库,包含很多不错的功能。
Google Repository:gradle需要它。
Google USB Driver(仅Windows):让你能够在实际设备上运行和调试程序。
Intel x86 Emulator Accelerator:提高模拟器速度的插件包。
选择要安装的所有组件后,单击Install按钮。安装可能需要很长时间才能完成。在系统询问是否接受许可协议时,务必接受所有的许可协议(有时有多个许可协议)。出现有关重启SDK Manager的消息时,让系统重启就是了。