Android 从入门到项目实践(超值版)
上QQ阅读APP看书,第一时间看更新

第2章 Android Studio的使用

学习指引

在本章中我们主要学习Android的应用框架、创建应用、熟悉Android Studio功能及常用快捷键和操作技巧等内容。因为只有学会使用Android开发工具,开发人员才能更好地进行Android开发。

重点导读

·熟悉Android的应用框架。

·熟悉Android Studio。

·了解Android Studio的常用快捷键。

·熟悉Android Studio的操作技巧。

2.1 Android应用框架

2.1.1 创建第一个应用

使用Android Studio创建安卓工程需要以下几个步骤。

步骤1 启动Android Studio开发工具,第一次启动Android Studio的欢迎界面如图2-1所示,选择Start a new Android Studio project创建一个新的工程文件。

步骤2 在打开的对话框中可以设置工程名称、公司名称和工程文件存放路径等,如图2-2所示。

步骤3 在打开的对话框中勾选Phone and Tablet,如图2-3所示。

步骤4 单击Help me choose链接,可以打开如图2-4所示的对话框。该对话框中提供了开发商统计的当前各个版本Android系统的使用情况,可以作为开发参考。

图2-1 启动Android Studio界面

图2-2 设置工程名称等信息

图2-3 选择API版本

图2-4 查看版本分布图

步骤5 进入活动模板选择界面,如图2-5所示。从该界面中选择Empty Activity创建一个空的活动模板,选择完成后单击Next按钮。

图2-5 活动模板选择界面

步骤6 进入活动配置界面,保持默认设置,如图2-6所示,然后单击Finish按钮。

图2-6 活动配置界面

2.1.2 熟悉Android Studio

创建完应用后,需要对Android Studio工具有所了解。下面针对Android Studio工具的不同区域进行分类讲解。

Android Studio整个工作区域如图2-7所示。

图2-7 Android Studio工作区域

其中可以分为5个区域。

区域1:这个区域主要是用来进行与运行和调试相关的操作,如图2-8所示。

(1)编译中显示的模块。

(2)当前项目的模块列表。

(3)运行当前模块。

(4)更改应用。

(5)调试当前模块。

(6)测试当前模块代码覆盖率。

(7)进程分析器。

(8)调试安卓运行的进程。

(9)停止运行中的模块。

区域2:这个区域主要是用来进行与Android设备和虚拟机相关的操作,如图2-9所示。

(1)Android原生虚拟机。

(2)Android SDK管理器。

(3)项目结构展示及一些与项目相关的属性配置。

(4)Genymotion模拟器图标,使用该图标可以快速启动Genymotion模拟器。

区域3:这个区域主要是用来进行与工程文件资源等相关的操作,如图2-10所示。

图2-8 运行和调试区域

图2-9 设备和虚拟机区域

图2-10 项目文件区域

(1)展示项目中文件的组织方式,默认是以Android方式展示的,还可以选择Project、Packages、Scratches、ProjectFiles、Problems等展示方式。新手开发时建议使用Android,因为其去掉了一些复制的目录结构,后续还会使用到Project目录结构,这是完整的开发目录。

(2)定位当前打开文件在工程目录中的位置。

(3)关闭工程目录中所有的展开项。

(4)额外的一些系统配置,展开后是一个菜单,如图2-11所示。

区域4:这个区域主要是用来编写代码和设计布局的,如图2-12所示。

图2-11 额外配置菜单

图2-12 代码编辑区

(1)已打开文件的Tab页。

提示:在Tab页上按Ctrl键+单击鼠标会弹出一个菜单,其中会列出该文件的完整路径,如图2-13所示。

(2)代码编辑区域,在其界面中可以编写Java代码或布局文件的XML代码。

(3)布局编辑模式切换,Design标签用来可视化设计布局,Text标签用来编辑布局代码。

(4)UI布局预览区域。

区域5:这个区域主要是用来查看一些输出信息的,如图2-14所示。

图2-13 文件路径

图2-14 输出区域

(1)终端,在其界面中可以进行命令行的操作。

(2)自定义日志信息及系统日志信息查看。

(3)编译信息查看。

(4)应用运行后的一些信息。

(5)调试信息及操作。

(6)标有TODO注释的列表。

(7)事件及一些事件日志。

2.1.3 默认工程目录

项目创建完成后Android Studio开发工具会默认生成一些工程目录,熟悉每个工程目录的作用对以后开发是非常有帮助的。

Android Studio开发工具为每一个工程创建的目录是相同的,如图2-15所示。

图2-15 工程目录

1. manifests目录

manifests目录用于存放AndroidManifest.XML文件,该文件是整个Android项目的清单文件,其具体代码如下:

2. java目录

java目录用于存放java源文件,业务功能都从这里实现。新生成的代码如下:

3. res资源目录

res资源目录中又分别包含了drawable资源目录、layout资源目录、mipmap资源目录和values资源目录。

(1)drawable:存放各种位图文件(如.png、.jpg、.9png、.gif等),除此之外可能是一些其他drawable类型的XML文件。

(2)layout:该目录下存放的是布局文件。另外在一些特殊场景下,还需要做屏幕适配,比如480×320这样的手机会另外创建一套布局——像layout-480×320这样的文件夹。

(3)mipmap:存放图标资源文件,其根据不同分辨率又进行了划分。

mipmap-hdpi:高分辨率。

mipmap-mdpi:中等分辨率。

mipmap-xhdpi:超高分辨率。

mipmap-xxhdpi:超超高分辨率。

(4)values:该目录用于存放一些资源文件,其中又包括以下几个文件。

demens.xml:定义尺寸资源。

string.xml:定义字符串资源。

styles.xml:定义样式资源。

colors.xml:定义颜色资源。

arrays.xml:定义数组资源。

attrs.xml:自定义控件的属性,自定义控件时用的较多。

theme0文件和styles文件很相似,但是会对整个应用中的Activity或指定的Activity起作用,一般是改变窗口外观的,可在Java代码中通过setTheme使用,或者在Android Manifest.XML中为<application...>添加theme的属性。

注意:读者在参看其他源码时,可能看到过这样的values目录:values-w820dp和values-v11等,前者中w代表平板设备、820dp代表屏幕宽度;而后者中v11代表在API(11)(即Android 3.0)后才会用到。

2.1.4 Android中的R文件

在进行Android开发的过程中,经常会遇到R文件报错,令许多初学者非常头疼。这个R文件到底是什么文件?本小节就一起来了解Android中的R文件。

在Android Studio默认工程目录中是找不到R文件的,需要切换到工程目录才可以查看R文件。找到R文件需要以下几个步骤。

步骤1 单击Android Studio中的Android→Project目录,如图2-16所示。

步骤2 切换到Project目录后,查看工程目录如图2-17所示。

图2-16 单击Project目录

图2-17 展开的Project目录

Project目录中各子目录及文件的功能介绍如下。

(1)Gradle编译系统,版本由wrapper指定。

(2)Android Studio IDE所需要的文件。

(3)应用相关文件的存放目录。

(4)编译后产生的相关文件。

(5)存放相关依赖库。

(6)代码存放目录。

(7)资源文件存放目录(包括布局、图像及样式等)。

(8)git版本管理忽略文件,标记出哪些文件不用进入git库中。

(9)Android Studio的工程文件。

(10)模块的gradle相关配置。

(11)代码混淆规则配置。

(12)工程的gradle相关配置。

(13)gradle相关的全局属性设置。

(14)地属性设置(如key及Android SDK位置等属性设置)。

步骤3 依次展开app目录对应项,便可以找到R文件,如图2-18所示。

步骤4 双击打开R文件,在左侧代码编辑区便可以看到R文件的具体内容,如图2-19所示。

图2-18 R文件的存放位置

图2-19 R文件的具体内容

Android应用程序被编译后会自动生成一个R类,其中包含了所有res/目录下资源的ID,如布局文件、资源文件及图片文件(values下所有文件)的ID等。在编写Java代码需要用这些资源的时候,可以使用R类,通过子类+资源名或者直接使用资源ID来访问资源。

R.java文件是活动的Java文件(如MainActivity.java)和资源文件(如strings.XML)之间的“胶水”。一般不建议直接修改R.java文件的内容,因为修改会破坏整个工程的资源信息。

如何通过R文件来实现资源调用呢?使用情况有两种:Java代码中使用和XML代码中使用。

1. Java代码中使用

Java文本:

图片:

颜色:

布局:

控件:

2. XML代码中使用

通过@xxx即可得到,比如这里获取文本和图片。

但是有时候,R文件并不能像预想的那样被生成出来或可以正确使用,以下总结了几个与R文件相关的错误及解决方案。

(1)XML本身有错误。解决方案:把console中的信息清除(执行clear命令),再清除项目,这个时候,console中会有很多红色的信息,参照这个肯定能准确地找到哪个文件报错了。

(2)编码格式不正确。解决方案:修改编码格式为UTF-8。

(3)配置问题。常规解决方案:

①选择菜单Project→Clean,前提是勾选上Bulid Automatically(自动构建部署),会重新构建项目。因为一般情况下,R.java文件在这个时候会重新生成一遍,如果工程有错,就不会自动生成。

②选择工程,右击选择Android Tools→Fix Project Properties,这个操作有时可以修正一些错误。

③重新建一个空的工程,然后把这里面的代码、资源文件按照对应的包路径复制进去,重新生成一遍,或者从一个完好的项目中复制一个R文件进来,修改一下XML文件即可。

(4)默认的SDK版本问题。解决方案:修改SDK版本至合适版本,重新构建项目。

(5)Android Studio包自动导入时误操作屏蔽了R文件。解决方案:打开Android Studio界面选择File→Settings→Editor→General→Auto Import,打开自动引用设置界面,删除被屏蔽的R文件。

(6)当以上方法均没有起作用的时候,也可以尝试删除gen目录,重新编译,IDE会自动生成gen目录及R文件。

2.2 常用快捷键和操作技巧

熟练使用Android Studio快捷键,同时熟练掌握Android Studio的一些操作技巧,能够提高开发速度。

2.2.1 常用快捷键

表2-1 编辑相关快捷键

表2-2 引用搜索相关快捷键

表2-3 模板快捷键

表2-4 通用快捷键

表2-5 导航栏相关快捷键

表2-6 查找替换相关快捷键

表2-7 重构相关快捷键

表2-8 调试相关快捷键

表2-9 编译和运行相关快捷键

表2-10 版本控制快捷键

2.2.2 操作技巧

本小节讲解一些开发中的实用技巧,这里不需要读者马上掌握,但是需要在学习过程中日积月累,这样才能记住并灵活使用这些技巧。

(1)书签

这是一个很有用的功能,在必要的地方设置标记,方便后面再跳转到此处。

通过选择菜单栏中的Navigate→Bookmarks可以打开书签操作菜单,如图2-20所示。

选中需要书签的代码,通过按快捷键F11可以添加或删除书签,添加时代码行号处会多出一个“√”的标记,如图2-21所示。

如果需要添加带标记的书签,可以通过按快捷键Ctrl+F11实现,此时书签图标将换成设定的标记,如图2-22所示。

图2-20 书签操作菜单

图2-21 书签图标

图2-22 带标记书签

如果需要显示所有书签,可以通过按快捷键Shift+F11实现,此时会打开一个书签列表对话框,如图2-23所示。

图2-23 书签列表对话框

如果想快速跳转到带标记的书签处,可以通过按快捷键Ctrl+标记实现。例如按快捷键Ctrl+1,即可跳转到标记为1的书签处。

(2)快速隐藏所有窗口

在实际开发中,如果代码过长,可以通过按快捷键Ctrl+Shift+F12隐藏其他非代码窗口,以便于代码操作。

(3)隐藏工程管理窗口

通过按快捷键Alt+1可以隐藏工程管理窗口,以便全屏显示代码。

注意:快捷键Alt+1中,末尾是数字键“1”,不是字母键“l”,另外这个键不能使用小键盘中的数字键。

(4)高亮显示

如果需要查看某个变量或函数在代码中的位置,通过输入查找内容并按快捷键Ctrl+Shift+F7,代码区中会对查找的变量或函数进行高亮显示,如图2-24所示。

图2-24 高亮显示

(5)返回之前操作的窗口

在实际开发中常需要在Android Studio各个窗口间进行切换,如果需要返回之前操作过的窗口,通过按快捷键F12即可快速返回。

(6)返回上一个编辑的位置

同返回上一个窗口类似,如果需要返回上一次编写代码的位置,通过按快捷键Ctrl+Shift+Backspace即可返回。

(7)在方法间或内部类间跳转

如果需要在方法间或内部类间进行跳转,可以通过按快捷键Alt+↑/↓。

(8)定位到父类

如果需要查看某类的父类,可以通过按快捷键Ctrl+U实现。

(9)快速查找某个类

当工程中有多个类时,可以通过按快捷键Ctrl+N快速查找到某个类。

(10)快速查找某个文件

如果需要在工程中查找某个具体文件,可以通过按快捷键Ctrl+Shift+N实现。

(11)快速查看定义

在代码中,如果需要查看一个方法或类的具体声明,可以通过按快捷键Ctrl+Shift+I在当前位置开启一个窗口进行查看,如图2-25所示。

图2-25 查看声明

(12)最近访问过的文件列表

通过按快捷键Ctrl+E可以打开一个最近访问过的文件列表,如图2-26所示。

图2-26 最近访问过的列表

(13)布局文件与活动文件切换

在实际开发中常需要在布局文件与活动文件间来回切换,在布局代码行号中有一个图标,如图2-27所示,单击即可切换至活动文件;同样在活动文件中也提供了相应的图标,如图2-28所示,单击即可切换至布局文件。

图2-27 切换至活动文件的图标

图2-28 切换至布局文件的图标

(14)扩大/缩小选择

在代码编辑中,如果需要选中一块代码可以按通过按快捷键Ctrl+W实现,不断按会发现选中的区域在不断扩大。如果需要缩小选中区域,可以通过按快捷键Ctrl+Shift+W实现。

2.3 就业面试技巧与解析

本章详细讲解了Android Studio集成开发环境的功能模块划分及每个模块中的具体功能,创建了第一个Android应用,并讲解了Android工程中不同目录的作用。在面试中考官会问到Android中不同目录的作用,其目的是:一方面考察应试者对工程目录的熟悉程度,另一方面通过Android工程目录可以反映出开发者的实际开发年限。

2.3.1 面试技巧与解析(一)

面试官:Android工程中R文件的作用是什么?如果工程中找不到R文件,如何处理?

应聘者:Android工程中的R文件相当于整个工程的库房管理处,任何一个组件都需要在这里进行备案(注册ID)。一般自行创建的工程很少被发现无法找到R文件的情况,如果找不到可以重新启动开发工具;如果是导入其他工程找不到R文件的情况,可以通过选择Build→Clean Project→Rebuild Project重新编译工程,此时Android Studio中会显示错误信息,根据提示修改即可。

2.3.2 面试技巧与解析(二)

面试官:在实际开发中,如果忘记关键字的书写,应该如何解决?

应聘者:Android Studio集成开发工具有强大的代码补全功能,可以通过按快捷键Ctrl+Space进行代码补全。如果忘记某一个类中具体方法,可以先创建一个类,通过“.”操作符查看该类的所有方法;如果继承某个类需要重写相应的方法,可以通过按快捷键Ctrl+O调出重写方法窗口,快速重写父类方法。