第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调出重写方法窗口,快速重写父类方法。