Android App开发从入门到精通
上QQ阅读APP看书,第一时间看更新

1.1 探索Android Studio

Android Studio是基于IntelliJ IDEA的官方Android应用集成开发环境(IDE)。除了IntelliJ强大的代码编辑器和开发者工具,Android Studio提供了更多可提高Android应用构建效率的功能,例如:

• 基于Gradle的灵活构建系统。

• 快速且功能丰富的模拟器。

• 可针对所有Android设备进行开发的统一环境。

• Instant Run,可将变更推送到正在运行的应用,无须构建新的APK。

• 帮助构建应用程序和导入示例代码以及GitHub集成。

• 丰富的测试工具和框架。

• 可捕捉性能、易用性、版本兼容性以及其他问题的Lint工具。

• C++和NDK支持。

• 内置对Google云端平台的支持,可轻松集成Google Cloud Messaging和App引擎。

1.1.1 项目结构

图1-1 Android视图中的项目文件

Android Studio中的每个项目包含一个或多个含有源代码文件和资源文件的模块。模块类型包括:

• Android应用模块。

• 库模块。

• Google App引擎模块。

默认情况下,Android Studio会在Android项目视图中显示项目文件,如图1-1所示。该视图按模块组织结构,便于快速访问项目的关键源文件。

所有构建文件在项目层次结构顶层Gradle Scripts下显示,并且每个应用模块都包含以下文件夹:

• manifests:包含AndroidManifest.xml文件。

• java:包含Java源代码文件,包括JUnit测试代码。

• res:包含所有非代码资源,例如XML布局、UI字符串和位图图像。

磁盘上的Android项目结构与此扁平项目结构有所不同。要查看实际的项目文件结构,可以从Project下拉菜单(在图1-1中显示为Android)选择Project。

用户还可以自定义项目文件的视图,重点显示应用开发的特定方面。例如,选择项目的Problems视图会显示指向包含任何已识别编码和语法错误(如布局文件中缺少一个XML元素结束标记)的源文件链接,如图1-2所示。

图1-2 项目的Problems视图

1.1.2 Android Studio主窗口

Android Studio主窗口由如图1-3所示的几个逻辑区域组成。

图1-3 Android Studio主窗口

① 工具栏,提供执行各种操作的工具,包括运行应用和启动Android工具。

② 导航栏,可以帮助在项目中导航,以及打开文件进行编辑。此区域提供Project窗口所示结构的精简视图。

③ 编辑器窗口,是创建和修改代码的区域。编辑器可能因当前文件类型的不同而有所差异。例如,在查看布局文件时,编辑器显示布局编辑器。

④ 工具窗口栏,在IDE窗口外部运行,并且包含可用于展开或折叠各个工具窗口的按钮。

⑤ 工具窗口,提供对特定任务的访问,例如项目管理、搜索和版本控制等。可以展开和折叠这些窗口。

⑥ 状态栏,显示项目和IDE本身的状态以及任何警告或消息。

用户可以通过隐藏或移动工具栏和工具窗口调整主窗口,以便留出更多屏幕空间,还可以使用键盘快捷键访问大多数IDE功能。

可以随时通过按两下Shift键或点击Android Studio窗口右上角的放大镜搜索源代码、数据库、操作和用户界面的元素等。此功能非常实用,例如在忘记如何触发特定IDE操作时,可以利用此功能进行查找。

1.1.3 工具窗口

Android Studio不使用默认窗口,而是根据情境在工作时自动显示相关工具窗口。默认情况下,最常用的工具窗口固定在应用窗口边缘的工具窗口栏上。

• 要展开或折叠工具窗口,请在工具窗口栏中点击该工具的名称,还可以拖动、固定、取消固定、关联和分离工具窗口。

• 要返回当前默认工具窗口布局,请点击Window→Restore Default Layout或点击Window→Store Current Layout as Default自定义默认布局。

• 要显示或隐藏整个工具窗口栏,请点击Android Studio窗口左下角的窗口图标。

• 要找到特定工具窗口,请将鼠标指针悬停在窗口图标上方,并从菜单选择相应的工具窗口。

还可以使用键盘快捷键打开工具窗口。表1-1列出了最常用的窗口快捷键。

表1-1 部分实用工具窗口的键盘快捷键

如果想要隐藏所有工具栏、工具窗口和编辑器选项卡,请点击View→Enter Distraction Free Mode。此操作可启用无干扰模式。要退出“无干扰模式”,请点击View→Exit Distraction Free Mode。

用户可以使用快速搜索在Android Studio中的大多数工具窗口中执行搜索和筛选。要使用快速搜索,请选择工具窗口,然后输入搜索查询。

1.1.4 代码自动完成

Android Studio有三种自动补全代码快捷键,如表1-2所示。

表1-2 代码自动完成的键盘快捷键

还可以按Alt+Enter组合键执行快速修复并显示建议的操作。

1.1.5 样式和格式化

在编辑时,Android Studio将自动应用代码样式设置中指定的格式设置和样式。可以通过编程语言自定义代码样式设置,包括指定选项卡和缩进、空格、换行、花括号以及空白行的约定。要自定义代码样式设置,请点击File→Settings→Editor→Code Style(在Mac上,点击Android Studio→Preferences→Editor→Code Style)。

IDE会在你写代码时自动对代码进行格式化,也可以通过按快捷键Ctrl+Alt+L(在Mac上,按Opt+Command+L)格式化代码、按快捷键Ctrl+Alt+I(在Mac上,按Alt+Option+I*)自动缩进所有行。图1-4(a)是格式化之前的代码,图1-4(b)是格式化之后的代码。

图1-4-2 格式化前后的代码

1.1.6 版本控制基础知识

Android Studio支持多个版本控制系统(VCS),包括Git、GitHub、CVS、Mercurial、Subversion和Google Cloud Source Repositories。

在将应用导入Android Studio后,使用Android Studio VCS菜单选项启用对所需版本控制系统的VCS支持、创建存储库、导入新文件至版本控制以及执行其他版本控制操作:

• 在Android Studio VCS菜单中点击Enable Version Control Integration。

• 从下拉菜单中选择要与项目根目录关联的版本控制系统,然后点击OK按钮。

此时,VCS菜单将根据选择的系统显示多个版本控制选项。

提 示

还可以使用 File→Settings→Version Control菜单选项设置和修改版本控制设置。

1.1.7 Gradle构建系统

Android Studio基于Gradle构建系统,并通过适用于Gradle的Android插件提供更多面向Android的功能。该构建系统可以作为集成工具从Android Studio菜单运行,还可以从命令行独立运行。

可以利用构建系统的功能执行以下操作:

• 自定义、配置和扩展构建流程。

• 使用相同的项目和模块为用户的应用创建多个具有不同功能的APK。

• 在不同源代码集之间重复使用代码和资源。

利用Gradle的灵活性,可以在不修改应用核心源文件的情况下实现以上所有目的。Android Studio构建文件以build.gradle命名。

这些文件是纯文本文件,使用适用于Gradle的Android插件提供的元素以Groovy语法配置构建。

每个项目有一个用于整个项目的顶级构建文件,以及用于各模块的单独的模块层级构建文件。在导入现有项目时,Android Studio会自动生成必要的构建文件。

1.1.8 Debug调试

使用Debug调试功能在调试程序视图中对引用、表达式和变量值进行内联验证,提高代码检查效率,如图1-5所示。Debug调试信息包括:

• 变量值

• 引用某选定对象的引用对象

• 方法返回值

• Lambda和运算符表达式

• 工具提示值

图1-5 内联变量值

要启用Debug调试,请在Debug窗口中点击Settings,然后选中Show Values Inline复选框。

1.1.9 性能监视器

Android Studio提供性能监视器,让用户可以更加轻松地跟踪应用的内存和CPU使用情况、查找已解除内存分配的对象、查找内存泄漏以及优化图形性能和分析网络请求。

在设备或模拟器上运行应用时,打开Android Monitor工具窗口,然后点击Monitors标签。

1.1.10 分配跟踪器

Android Studio允许在监视内存使用情况的同时跟踪内存分配情况。利用跟踪内存分配功能,可以在执行某些操作时监视对象被分配到哪些位置。了解这些分配后,就可以相应地调整与这些操作相关的方法调用,从而优化应用的性能和内存使用。

1.1.11 数据文件访问

Systrace、logcat和Traceview等Android SDK工具可生成性能和调试数据,用于对应用进行详细分析。

要查看已生成的数据文件,请打开Captures工具窗口。在已生成的文件列表中,双击相应的文件即可查看数据。右击任何.hprof文件,即可将其转换为标准.hprof文件格式。

1.1.12 代码检查

在每次编译程序时,Android Studio都将自动运行已配置的Lint及其他IDE检查,帮助轻松识别和纠正代码结构质量问题。

Lint工具可检查你的Android项目源文件是否有潜在的错误,以及在正确性、安全性、性能、可用性、无障碍性和国际化方面是否需要优化改进,如图1-6所示。

图1-6 Android Studio中Lint检查的结果

除了Lint检查,Android Studio还可以执行IntelliJ代码检查和注解验证,以简化编码工作流程。

1.1.13 日志消息

在使用Android Studio构建和运行应用时,点击窗口底部的Android Monitor查看adb输出和设备日志消息(logcat)。