1.3 Android Studio使用

前面我们介绍了Android Studio的下载以及安装,相信你早已按捺不住,是时候开始实战一下了。本节内容包括创建项目、运行以及调试等一系列操作,带你熟悉Android Studio的基本使用。

1.3.1 项目结构

Android Studio的项目包含App需要的所有内容,从源代码和资源,到测试代码和构建配置,应有尽有。当创建新项目的时候,Android Studio会帮助所有的文件创建项目结构,在IDE左侧的Project窗口中可见。

1. 模块

模块是源文件和构建设置的集合,允许你将项目分成不同的功能单元。一个项目可以有一个或者多个模块,并且一个模块可以对其他模块进行依赖。每个模块可以独立构建、测试和调试。

如果在自己的项目中创建代码库或者希望为不同的设备类型(例如电话和穿戴式设备)创建不同的代码和资源组,但是保留相同项目内的所有文件并共享某些代码,那么增加模块数量将非常有用。

可以点击File→New→New Module,帮助项目添加新模块。

Android有两种常用的模块。

(1)Android应用模块

为应用的源代码、资源文件和应用级设置(例如模块级构建文件和Android清单文件)提供容器。在创建新项目时,默认的模块名称是“app”。

Create New Module窗口中,Android Studio提供了以下应用模块:

• Phone & Tablet Module手机开发

• Android Wear Module手表开发

• Android TV Module电视开发

• Glass Module眼镜开发

每种模块都提供了基础文件和一些代码模板,不同的设备类型对应不同的模板。

(2)库模块

库模块是某个功能的可重用代码,可用作其他项目的依赖或者导入其他项目中。库模块在结构上与应用模块相同,但是在构建时,它将创建一个代码归档文件而不是APK,因此无法安装到设备上。

Create New Module窗口中,Android Studio提供了以下库模块:

• Android库:这种类型的库可以包含Android项目中支持的所有文件类型,包括源代码、资源和清单文件。构建结果是一个Android归档(AAR)文件,可以将其作为Android应用模块的依赖项添加。

• Java库:此类型的库只能包含Java源文件。构建结果是一个Java归档(JAR)文件,可以将其作为Andriod应用模块或其他Java项目的依赖项添加。

一些人也将模块称为子项目,完全没有问题,因为Gradle也将模块称为项目。

例如,在创建库模块并且希望以依赖项的形式将其添加到你的Android应用模块时,必须按照如下形式进行声明:

图1-16 项目文件

2. 项目文件

默认情况下,Android Studio会在Android视图中显示用户的项目文件。此视图无法反映磁盘上的实际文件层次结构,而是按照模块和文件类型组织,简化项目主要源文件之间的导航,同时将不常用的特定文件或目录隐藏。

与磁盘上的结构相比,一些结构变化包括:

• 在顶级Gradle Script组中显示项目中与构建相关的所有配置文件。

• 在模块级组(如果不同的产品类型和构建类型使用不同的清单文件)中显示每个模块的所有清单文件。

• 在一个组中显示所有备用资源文件,而不是按照资源限定符在不同的文件夹中显示。例如,所有密度版本的启动器图标将并排显示。

• 项目文件结构如图1-16所示。在每个Android应用模块内,文件显示在以下组中:

 manifests包含AndroidManifest.xml文件。

 java包含Java源代码文件(包括JUnit测试代码),这些java文件根据包名进行区分。

 res包含所有非代码资源,例如XML布局、字符串和图片等,这些资源对应不同的文件夹。

3. Android项目视图

要查看项目的实际文件结构(包括Android视图下隐藏的所有文件),请从Project窗口顶部的下拉菜单中选择Project。

选择Project视图后,可以看到更多文件和目录,如图1-17显示。最重要的一些文件和目录如下:

• 模块名称/

 build/包含构建输出。

 libs/包含私有库。

 src/包含模块的所有代码和资源文件,分为以下子目录:

◆ androidTest/包含在Android设备上运行的仪器测试的代码。

◆ main/包含“主”源集文件:所有构建变体共享的Android代码和资源(其他构建变体的文件位于同级目录中,例如调试构建类型的文件位于src/debug/中)。

■ AndroidManifest.xml说明应用及其每个组件的性质。

图1-17 项目视图

■ java/包含Java代码源。

■ jni/包含使用Java原生接口(JNI)的原生代码。

■ gen/包含Android Studio生成的Java文件,例如R.java文件以及从AIDL文件创建的接口。

■ res/包含应用资源,例如可绘制对象文件、布局文件和UI字符串。

■ assets/包含原封不动地编译到.apk文件中的文件。可以使用URI像访问文件系统一样访问此目录,以及使用AssetManager以字节流形式读取文件。例如,这个文件夹可以放一种提示音mp3文件。

◆ test/包含在JVM上运行的本地测试的代码。

 build.gradle(模块)构建当前模块的配置。

• build.gradle(项目)定义适用于所有模块的构建配置。此文件已集成到项目中,因此应当在所有其他源代码的修订控制中保留这个文件。

4. 项目结构设置

要更改Android Studio项目的各种设置,点击File→Project Structure,打开Project Structure对话框。此对话框包含以下部分:

• SDK Location:设置你的项目使用的JDK、Android SDK和Android NDK的位置。

• Project:设置Gradle和Android Plugin for Gradle的版本,以及存储区位置名称。

• Developer Services:包含Google或其他第三方的Android Studio附加组件的设置。

• Modules:允许编辑模块特定的构建配置,包括目标和最低SDK、应用签名和库依赖项。

借助Modules设置部分,可以为项目的每个模块更改配置选项。每个模块的配置页面分成以下标签:

• Properties:指定编译模块所用的SDK和构建工具的版本。

• Signing:指定签名证书。

• Flavors:指定SDK的最低版本、最高版本、版本号、版本名称。我们也可以修改Module的build.gradle文件修改这些配置。

• Build Types:指定编译模式,每个模块都可以设置release和debug模式,也可以根据需要自定义类型。

• Dependencies:列出此模块的库、文件和模块依赖项。可以在这里添加删除修改依赖库。

1.3.2 创建项目

利用Android Studio,可以轻松地为各种机型(例如,手机、平板电脑、TV、Wear和Google Glass)创建Android应用。

新项目向导让用户可以为自己的应用选择机型,并使用启动所需的一切信息填充项目结构。按以下步骤操作来创建新项目。

步骤01启动并配置项目。

• 如果没有打开项目,在Android Studio首页中点击Start a New Android Studio project按钮。

• 如果已经打开一个项目,Android Studio将显示开发环境。要创建新项目时,请点击File→New→New Project。

这两种方法都能创建项目,点击之后可以在下一个对话框中配置应用的名称、公司主体、软件包名称和项目的位置,如图1-18所示。为你的项目输入相应的值后点击Next按钮。

图1-18 新建项目配置

步骤02选择机型和API级别,如图1-19所示。

图1-19 指定目标设备

在这个对话框中选择应用支持的机型,例如手机、平板电脑、TV、Wear和Google Glass。

选定的机型将成为项目中的应用模块。对于每种机型,还可以为该应用选择API级别。要获取详细信息,可以点击Help me choose,如图1-20所示。

图1-20 Android Platform Distribution

正常情况下采用默认的就行,直接点击Next按钮。

步骤03添加Activity,如图1-21所示。可以选择不同的Activity类型,就是初始化的Activity有什么功能。

图1-21 选择Activity界面风格

这里有很多选项:

• Add No Activity:就是没有Activity,这种情况直接点击右下角的Finish按钮,项目就创建完成了。

• Basic Activity:基本的Activity,具有一些基本功能。

• Bottom Navigation Activity:带有导航栏的Activity。

• Empty Activity:就是一个空的Activity。官方推荐这种方式。

还有很多初始化的Activity,就不逐一解释了。其实大部分情况就用官方默认的选项。直接点击Next按钮即可。

步骤04此界面是入口设置界面,如图1-22所示。

图1-22 设置入口界面的名称

在该对话框中配置你的Activity信息,可以输入活动名称、布局名称。一般情况就用默认的,点击Finish按钮开始创建项目,如图1-23所示。

图1-23 创建中

第一次创建项目的时候会比较慢,这是正常现象。因为第一次需要下载项目对应的Gradle版本。下载Gradle需要访问外网,下载速度很一般,这时可以先去做别的事情,让它慢慢下载。第二次创建项目时就会很快。

步骤05开发应用。Android Studio会为用户的项目创建默认结构并打开开发环境。如果你的应用支持多种机型,Android Studio将为每一个机型创建一个包含完整源文件的模块文件夹,如图1-24所示。

图1-24 新建的应用的项目结构

至此,你的项目就创建完成了,接下来可以开发自己的应用了。

1.3.3 Android Studio自带模拟器运行项目

所谓模拟器,是指在电脑上构造一个演示窗口,模拟手机屏幕上的App运行效果。首先问自己一个问题,为什么要使用模拟器?主要有以下几点:

• 没有安卓手机也能开发,降低门槛。

• 安卓碎片化严重,各种手机厂商一大堆,并且很多手机厂商对原生系统做了定制。

• 各种屏幕适配。我们不可能买很多的安卓手机,用模拟器就能解决这个问题。

创建模拟器并且运行的方法如下:

步骤01点击Android Studio工具栏上的“Run 'app' ”按钮,如图1-25所示。

图1-25 运行App

步骤02Android Studio会先弹出选择设备界面,如图1-26所示。从中可以看到当前没有连接设备,可点击Create New Virtual Device按钮创建一个模拟器。

图1-26 选择接入设备

步骤03接下来选择模拟的硬件,如图1-27所示,可以选择类型、型号,选择默认的Nexus 5x,点击Next按钮。

图1-27 选择型号

步骤04进入如图1-28所示的下载镜像界面,下载Android 7.0版本的镜像文件,点击前面的Download按钮。下载完成之后点击Next按钮。

图1-28 选择镜像

步骤05设置完镜像之后会进入验证配置界面,可以设置模拟器的名字,选择横屏还是竖屏,如图1-29所示,点击Finish按钮。

图1-29 设置模拟器参数

步骤06再次回到选择设备界面,就会看到创建的模拟器在选择列表中,选择这个模拟器,点击OK按钮。选定设备后,Android Studio自动对项目进行编译、打包成apk、对apk进行临时签名。然后打开我们选择的模拟器,把apk文件安装并且运行到模拟器上,效果如图1-30所示。

图1-30 模拟器运行Hello World

此时看到屏幕的中间写着“Hello World”,是不是有一种久违的熟悉感?无论学什么语言,我们运行的第一个程序总归是Hello World,希望看本书的读者能够坚持下去,后面的内容更有趣噢!

1.3.4 使用Genymotion模拟器运行

Android自带的模拟器运行起来相对比较慢,安装一个App花费时间较长,并且效果不太流畅,目前Genymotion是比较好用的第三方模拟器。

1. VirtualBox(虚拟机)下载安装

VirtualBox是一款开源虚拟机软件。VirtualBox是由德国Innotek公司开发、由Sun Microsystems公司出品的软件,使用Qt编写,在Sun被Oracle收购后正式更名成Oracle VM VirtualBox。

Genymotion依赖于VirtualBox,两个必须一起使用,所以首先下载VirtualBox安装。VirtualBox的下载地址为https://www.virtualbox.org/wiki/Downloads。

在下载页面根据自己的操作系统选择不同版本下载,下载完成之后直接安装就行。很简单,一直点击“下一步”即可。

2. Genymotion下载安装

安装Genymotion之前一定记得先安装VirtualBox,否则Genymotion无法运行。官网地址为http://www.genymotion.net/。

步骤01下载Genymotion模拟器需要注册账号后登录,然后直接打开下载界面,若下载界面找不到,可以直接复制:https://www.genymotion.com/download/。

步骤02用浏览器下载会比较慢,可以把下载地址粘贴进迅雷中下载。

步骤03下载完成后先安装Genymotion,才能进入首页,如图1-31所示。

图1-31 Genymotion首页

步骤04由于没有镜像文件,因此点击Add按钮进入添加界面,如图1-32所示。

图1-32 添加模拟器

步骤05需要登录才能下载镜像文件,点击Sign in按钮,进入登录界面,如图1-33所示。

步骤06输入之前在官网注册的账号进行登录。登录成功之后在添加界面会刷新镜像列表,提供各种不同的手机厂商的镜像文件与安卓版本,如图1-34所示。

图1-33 登录

图1-34 Android虚拟机镜像列表

步骤07双击要下载的镜像,进入创建设备界面,可以指定设备的名称,如图1-35所示。用默认的也行,点击Next按钮。

图1-35 创建设备

步骤08接下来就会显示下载界面了,下载会比较慢。下载完成之后点击Finish按钮,如图1-36所示。

图1-36 下载镜像中

步骤09接下来就能在首页看到下载的设备了。选中设备后点击Start按钮或者双击这个设备运行模拟器,如图1-37所示。

至此,Genymotion模拟器安装完成了。回到Android Studio项目界面,点击工具栏上的“Run'app'”按钮运行项目。在选择设备中选择刚运行的Genymotion模拟器,最后效果如图1-38所示。

图1-37 已下载镜像列表

图1-38 Genymotion模拟器运行Hello World

大家用模拟器开发的时候建议用Genymotion模拟器,比官方自带的好用很多。

1.3.5 真机运行

除了在模拟器上运行外,还可以直接在手机上运行。

1. 手机开启开发者模式

手机默认是未开启开发者模式的,所以需要在手机的“设置”界面中手动开启。

步骤01点击“设置”→“关于手机”→“版本号”,连续点击版本号5次就激活开发者模式,如图1-39所示。可能某些国产机界面不一样,但是只要找到版本号连续5次点击就对了。

步骤02进入开发者选项界面,点击“设置”→“全局高级设置”→“开发者选项”界面,开启USB调试,如图1-40所示。

图1-39 开启开发者模式

图1-40 开启USB调试

这里的手机是锤子手机,不同的手机厂商设置界面略有不同,但是功能都一样。没找到的读者仔细查找或者求助于网页搜索。

2. 安装USB驱动

只有Windows系统需要下载这个手机对应的USB驱动,大家根据自己的型号去对应的手机厂商官网下载,然后安装。安装之后用手机数据线连接电脑。

如果是Mac电脑是不需要下载驱动的,直接用数据线连接电脑即可。有些手机连接之后可能会识别不了(个别情况),可以参考一篇教程:http://blog.csdn.net/lowprofile_coding/article/details/48443249。

如何判断手机是否连接成功

在Android Studio底部有一个Android Monitor,可以看到当前连接的设备,还能看到手机上应用程序打印的Log,如图1-41所示。当然,运行App的时候也能看到连接的设备列表。

图1-41 Android Studio查看连接设备

3. 运行App

设备连接成功之后点击Android Studio工具栏上的“Run 'app' ”按钮。选择设备(这里是锤子手机),然后就能在手机上看到Hello World了。