Android Studio tips and tricks 翻译

正文:

如果你对Android Studio和IntelliJ不熟悉,本页提供了一些建议,让你可以从最常见的任务和效率增强特性开始使用。

生产力的捷径

Android Studio包含了一系列帮助你提高编码生产力的特性。本节标注了几个关键特性,帮助你快速而高效的工作。

智能渲染

通过智能渲染,Android Studio显示链接来快速修复渲染错误。例如,如果你在布局文件中添加了一个按钮,但没有指定宽高属性,Android Studio会显示渲染信息来自动添加所有缺失的属性。点击这些信息将会把缺失的属性添加到布局中。

在debugger中进行比特图渲染

在debug时,你可以右键点击你的app中的bitmap变量,调用View Bitmap。这个功能会从调试进程中获取相关联的数据,然后在debugger中渲染对应的bitmap。

创建新文件

你可以通过下面的方法快速添加新的代码或资源文件:点击Project窗格中合适的文件夹,然后按ALT+INSERT。依据文件夹的种类,Android Studio会提供合适的可创建文件类型。

例如,如果你选择了layout文件夹,按下ALT+INSERT,然后选中layout资源文件,一个对话框会打开,你可以给文件命名(你可以不用包含.xml后缀),并且选取一个根视图元素。编辑器会切换到布局设计编辑器,让你可以开始设计你的布局。

输出窗口消息过滤

当检查构建结果时,你可以通过消息类型来过滤消息,从而快速定位到你感兴趣的消息。

分层父活动设置

通过Activity Wizard来创建活动时,可以设置父活动。设置分层父活动后,会在子活动的Action Bar中自动显示Up按钮,因此Up按钮无需手动在menu.xml文件中指定。

创建布局

Android Studio提供了高级布局编辑器,允许你在布局中拖放控件,还可以在编辑xml文件的同时预览布局效果。

当在文本视图中编辑时,你可以通过窗口右边的预览窗格来预览布局在设备上的效果。在预览窗格,你可以通过改变窗格顶部的多个选项来修饰预览效果,包括预览设备,布局主题,平台版本等等。如果要同时在多个设备上预览布局,在设备下拉菜单中选择Preview All Screen Size

通过点击预览窗格中的设计图,你可以切换到图像编辑器。当在设计视图中编辑时,通过点击窗口左边的Palette,可以显示或隐藏所有可以拖放的控件。点击窗口右边的设计工具,会显露面板,显示布局层级和布局中每个视图的属性。

注解

Android Studio通过Support-Annotations库来提供注解功能。添加该库的一个依赖,你就可以用注解修饰你的代码,帮助你捕捉bug,例如空指针异常和资源类型冲突。你也可以创建枚举的注解类型,例如,检查一个传入参数是一系列预定义常量中的一个。获取更多信息,见Improving Code Inspection with Annotations

Java class文件反编译

Android Studio允许你在无法获取源代码的情况下看Java库内部的实现。

反编译器集成在Android Studio内部,很容易使用。要使用这一特性,右击一个你无法获取源码的库中的类,方法或者字段,然后选择反编译。

反编译后的源码就会呈现出来。

要调整Java反编译器的设置,选择 File > Settings > Other Settings > Java Decompiler。

调试和性能增强

Android Studio提供了调试和性能增强功能,例如:

  • 自定义键盘布局。要修改当前的键盘布局,选择 File > Settings > Keymap。
  • 在Windows和Linux上支持高密度显示。
  • 不用创建任何工程文件,通过临时文件快速创建原型。

    选择 Tools > New Scratch File, 打开一个临时文件来快速构建和运行代码原型。同Android Studio编码帮助一起,临时文件允许你快速运行和调试代码更改,并支持所有的文件操作。通过嵌入用脚本语言创建的代码,你可以在临时文件内运行你的代码。

活模板

活模板允许你输入代码片段来快速插入和完成小块代码。要插入一个活模板,键入模板的缩写然后按下Tab键。Android Studio会在你的代码中插入与模板关联的代码片段。

例如,输入newInstance缩写和按下Tab键,会插入一段有一个参数占位符的碎片实例化代码。

public static $fragment$ newInstance($args$) {
$nullChecks$
Bundle args = new Bundle();
$addArgs$
$fragment$ fragment = new $fragment$();
fragment.setArguments(args);
return fragment;
}

类似的,fbc这个缩写会插入一个findViewById的调用,伴随着类型转换和资源id的句法。

() findViewById(R.id.);

使用File > Settings > Editor > Live Templates 菜单选项来显示支持的活模板的完整列表,和定制插入的代码。

在基于IntelliJ的编码实践上工作

这一节列举了几个编码实践。你应该考虑在创建Android Studio应用程序时使用它们。

获取IntelliJ IDEA的用户文档(这是Android Studio的基础),参考IntelliJ IDEA documentation

Alt + Enter 组合键

为了快速修改代码错误,IntelliJ实现了Alt + Enter组合键来快速修复可以修复的错误(缺失的imports, 变量复制,缺失的引用等等),如果无法修复,会建议最可能的解决方案。

Ctrl + D 组合键

Ctrl + D组合键是一个很好的快速复制代码行或代码片段的方式。简单的选中想要复制的行或者片段,然后输入这个组合键即可。

导航菜单

假如你对一个API的类,文件或者符号不熟悉,导航菜单(Navigate menu)可以让你直接跳转到类中的方法或字段名,而不用搜索全部的类文件。

检视域

代码检视域会设置代码段的颜色,便于代码的区分和定位。例如,你可以设置一个域来标识所有与一个特点的action bar有关的代码。

语言注入

通过语言注入,Android Studio允许你在源码中嵌入一系列不同的语言。这会让句法,错误高亮和编码帮助延伸到嵌入的语言上。这在检查内置的正则表达式的值,验证XML和SQL语句时特别有用。

代码折叠

这一项允许你有选择性的隐藏和显示代码片段,来提高可读性。例如,资源表达式或者嵌入式的代码可以折叠和隐藏成一行,让外部的类结构更易读。内部类可以稍后展开并修改。

图片和颜色预览

当你在代码中引用图片和图标时,一个图片或图标的预览会在代码边缘出现(实际尺寸,不同密度),来帮你确认图片或图标的引用。选中预览的图片或图标,同时按下F1,会显示资源细节,例如dp的设置。

F1快捷文档

你现在可以检视主题属性,使用 View > Quick Documentation (F1),来看主题的继承层级,和分析各个属性值。

如果你在主题属性?android:textAppearanceLarge上使用View > Quick Documentation (常常绑定在F1键上),你会看到引入的特定主题的继承层级和各个属性值。

按键指令

以下列出了常用操作的键盘快捷键。

编程按键指令

  • 指令查询(自动补全指令名) CTRL + SHIFT + A
  • 项目快速修复 ALT + ENTER
  • 重格式化代码 CTRL + ALT + L
  • 显示选中API的文档 CTRL + Q
  • 显示选中方法的参数 CTRL + P
  • 生成方法 ALT + INSERT
  • 跳转到源文件 F4
  • 删除行 CTRL + Y
  • 通过符号名称搜索 CTRL + ALT + SHIFT + N

项目和编辑器指令

  • 构建 CTRL + F9
  • 构建并运行 SHIFT + F10
  • 切换项目面板的可见性 ALT + 1
  • 导航打开的标签页 ALT + right-arrow; ALT + left-arrow

更多快捷键的知道,参加IntelliJ IDEA的文档。

Android Studio tips and tricks 翻译学习的更多相关文章

  1. Android Studio Tips and Tricks

    Android Studio Delete Module 1.选中Module右击,选择 Open Module Settings,打开Project Structure 窗空.(或者选中Module ...

  2. 第二章:Android Studio概述(二)[学习Android Studio汉化教程]

    The Main Menu Bar 主菜单栏  主菜单栏位于Android Studio的最上面,你几乎可以利用主菜单和其子菜单来执行任何操作.不像Android Studio中其他的一些菜单,主菜单 ...

  3. [Android Tips] 20. Android Studio Tips

    [译]Android Studio 使用技巧系列(一)-快捷键 [译]Android Studio 使用技巧系列(二)-快捷键 [译]Android Studio 使用技巧系列(三)-调试 [译]An ...

  4. Android Studio Tips

    1. 可以通过ctrl+shift+a,然后输入reformat,就能看到对应的快捷键. 如果记不得快捷键了,都可以通过ctrl+shift+a来查找. 2. [Androidstudio]的坑之[@ ...

  5. 第二章:Android Studio概述(一)[学习Android Studio汉化教程]

     Android Studio是一个视窗化的开发环境.为了充分利用有限的屏幕空间,不让你束手束脚,Android Studio 在特定的时间仅仅显示一小部分可用窗口. 除了一些上下文敏感的窗口和上下文 ...

  6. 最强 Android Studio 使用小技巧和快捷键

    写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...

  7. Android Studio 小技巧合集

    本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本文将这62 ...

  8. 最强 Android Studio 使用小技巧和快捷键总结

    最强 Android Studio 使用小技巧和快捷键总结   写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android ...

  9. Android Studio 使用小技巧和快捷键

    Android Studio 使用小技巧和快捷键 Alt+回车 导入包,自己主动修正 Ctrl+N   查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L  格式化代码 Ctrl+Alt ...

随机推荐

  1. web前端工程师学习之路开启(前言)

    web前端工程师需要掌握的所有技能 图解1: 图解2:

  2. 《APUE》读书笔记第十三章-守护进程

    守护进程 守护进程是生存期较长的一种进程,它们常常在系统自举时启动,仅在系统关闭时才终止.因为它们没有控制终端,所以说它们是在后台运行的.UNIX系统由很多守护进程,它们执行日常事务活动. 本章主要介 ...

  3. MediaWiki基本设置

    1.左侧导航栏设置 在右上角搜索栏中输入“mediawiki:sidebar” 确认后进行编辑(需要以站长或管理员身份登录). 格式: *导航栏名称一 **链接一地址|链接一名称 **链接二地址|链接 ...

  4. php echo字符串的连接格式

    echo "<td align=\"center\"><img src=\""; 1.  \"    \" 2. ...

  5. 认识 web 服务器端脚本语言 PHP

    ---恢复内容开始--- 变量 定义:定义之后,值可以改变的量.PHP中的变量可以先后赋值为不同类型的值. 语法格式:$变量名 = 值; 常量 定义:常量:一旦声明之后,值就不能再改变的量. 语法格式 ...

  6. UITableView常用属性和方法 - 永不退缩的小白菜

    UITableView常用属性和方法 - 永不退缩的小白菜 时间 2014-05-27 01:21:00  博客园精华区原文  http://www.cnblogs.com/zhaofucheng11 ...

  7. NSNumber与NSInteger的区别 -bei

    基本类型,如同C 语言中的 int 类型一样,拿来就可以直接用. 而类在使用时,必须先创建一个对象,再为对象分配空间,接着做初始化和赋值. 类的初始化,需用类自身的方法 (类方法). 代码中所创建的对 ...

  8. Android 改变标题栏的背景色

    1:styles.xml <!-- Activity theme --> <style name="CustomTheme" parent="andro ...

  9. Android学习之AndroidManifest.xml清单之<uses-feature>

    无意之中看了几个小时的官方英文文档,关于<uses-feature>的介绍.有必要在这里记录一下,应该有很多人不知道<uses-feature>到底是做什么用的,因为我们平时根 ...

  10. LeetCode_Scramble String

    Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrin ...