第二篇我们开发了一个Hello World应用,并介绍Android Sutdio的界面和如何调试应用,接下来将介绍一些常用的快捷键和必备插件。

常用快捷键

代码跳转

描述:跳转是为了方便代码位置的定位,存在两种跳转:在定义处可以跳转到调用处,在调用处可以跳转到定义处。
快捷键:Ctrl + 鼠标单击

方法间跳转

描述:从一个类方法跳转到临近的一个类方法。

快捷键:Alt + Up/Down

前后位置导航

描述:将光标移到前或后编辑历史记录处。

快捷键: 前: Ctrl+Alt+Right 后: Ctrl + Alt + Left

代码自动补全

描述:补全可以加快我们的编码速度。

快捷键:Ctrl+Shift + Enter

问题修复

描述:快速修复存在问题的代码。

快捷键:Alt + Enter

类查找

描述:查找项目中的类

快捷键: Ctrl+N

文件查找

描述:查找项目中的文件

快捷键: Ctrl+Shift + N

任意查找

描述:查找项目中的文件、类和动作

快捷键: Shift + Shift

列选择

描述:默认是行选择模式。

快捷键: Alt + 鼠标左键 + 拖动

代码错误定位

描述:快速定位到出错的地方。

快捷键: F2

显示/隐藏所以窗口

描述:在代码编辑窗口过小的情况下,可以把相关的Project面板等窗口隐藏掉。

快捷键: Shift + Ctrl + F12

返回代码编辑窗口

描述:当焦点不在代码编辑窗口的时候,不使用鼠标返回。

快捷键: Esc

最近文件

描述:显示最近浏览或编辑过的文件。

快捷键: Ctrl + E 和 Ctrl + Shift + E

类元素快速定位

描述:浮动窗显示类结构,通过输入关键词完成快速定位。

快捷键:Ctrl + F12

参数信息

描述:显示方法的参数信息。

快捷键: Ctrl + P

重命名

描述:重命名字段和方法名称。

快捷键:Shift + F6

Live Template

描述: Live Template可以帮我们省了不少事情。

快捷键:Ctrl + J

跳转到指定位置

描述: 定位到指定行或列

快捷键:Ctrl + G

快速查看函数定义

描述: 出现一个Popup窗显示

快捷键:Ctrl + Shift + I

以上是一些最常用的快捷键,如果想了解更多快捷键可以参考《最强 Android Studio 使用小技巧和快捷键》

常用插件

GsonFormat

该插件的功能是根据JSON数据生成相应的实体类,插件装好后按Alt+S快捷键可以呼出GsonFormat。

下载:https://github.com/zzz40500/GsonFormat

ParcelableGenerator

Android中的序列化有两种方式,分别是实现Serializable接口和Parcelable接口,但在Android中是推荐使用Parcelable,只不过我们这种方式要比Serializable方式要繁琐,那么有了这个插件一切就ok了。

下载:https://github.com/mcharmas/android-parcelable-intellij-plugin

CodeGlance

可用于快速定位代码,类似于Sublime编辑器右侧定位视图。

下载:https://github.com/Vektah/CodeGlance/releases

Android WiFi ADB

经常用USB插拔调试应用是不是很烦,时间长了手机充电口也容易搞坏,使用这个插件可以让你通过WiFi来调试应用。方法很简单,步骤如下:

1.   首先需要确保你的电脑和手机在同一wifi局域网内

2.   第一次需要用数据线连接电脑,确保在“Android Monitors”中可以看到你的手机型。如下图:

3.   打开Android WiFi ADB面板,点击Connect按钮后就可以拔掉数据线。

拔掉数据线后,我们可以看到“Android WiFi ADB”面板里已经提示“No devices connected.”,但在“Android Monitors”中任然可以看到我们的设备,再下去的所有操作和连接数据线时的操作都一样。

下载:https://github.com/pedrovgs/AndroidWiFiADB

什么是Instant Run?

Instant Run是Android Studio 2.0推出的功能,推出这个功能后,Android Studio在编译应用的速度上有了质的飞跃。

·        之前编译流程

·        2.0以后的编译流程

从2.0开始Android Studio开始就会选择性的使用hot swap、warm swap、code swap等编译方案来加快编译速度。
在第一次运行应用后,运行的三角形旁边多了一个闪电符号,这就说明现在可以使用Instant Run了。

hot swap

只是改变方法的内部代码或说明的情况下,Android Studio将采用hot swap方案,整个编译和部署都非常快。

注意:默认hot swap模式也会重启Activey,需要到设置里面设置一下,如下图:

warm swap

在修改或删除资源的情况下,Android Studio将采用warm swap方案,可以看到Activey将被重新构造。

cold swap

cold swap的整个过程要稍微费时一些,Android Studio会自动记录我们项目的每次修改,然后将修改的内容打成一个dex传到手机上,然后整个应用重启,重新加载这个新的dex文件。

Android Studio2.0 教程从入门到精通Windows版 - 提高篇的更多相关文章

  1. Android Studio2.0 教程从入门到精通Windows版 - 安装篇

    详见:http://www.open-open.com/lib/view/open1468118887690.html

  2. Android Studio2.0 教程从入门到精通Windows版

    系列教程 Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android Studio2 ...

  3. Android Studio2.0 教程从入门到精通Windows版 - 入门篇

    http://www.open-open.com/lib/view/open1468121363300.html 本文转自:深度开源(open-open.com)原文标题:Android Studio ...

  4. Android开发 Android Studio2.0 教程从入门到精通Windows版 - 入门篇

    第一篇 介绍了Android Studio开发环境以及Genymotion虚拟机安装方法,本节将给大家介绍如何使用Android Studio开发应用. 开发第一应用 可以开发属于自己的应用,是否有点 ...

  5. Android Studio2.0 教程MAC版 -快捷键篇

    本文转至 Android Studio2.0 教程从入门到精通MAC版 - 提高篇 ( OPEN 开发经验库) 第二篇我们开发了一个Hello World应用,并介绍Android Sutdio的界面 ...

  6. Android Studio教程从入门到精通

    最新2.0系列文章参考: Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android ...

  7. Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通

    原文:Android菜鸟的成长笔记(1)--Android开发环境搭建从入门到精通 今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写 ...

  8. android studio2.0出现的gradle问题,instant Run即时运行不了.

    android studio 2.0出现的gradle问题: instant Run即时运行不了.经历了几乎9个preView版本的AS2.0,终于迎来了正式版,然而晴天我的霹雳,好不容易装好的2.0 ...

  9. nginx教程从入门到精通

    [转]nginx教程从入门到精通 nginx教程写了一段时间,无意中发现,nginx相关文章已经达到了近100篇了.觉得很有必要汇总到一起,它是我们运维生存时间的一片心血,他是学习nginx的同学必看 ...

随机推荐

  1. 自动化测试-13.selenium执行JS处理滚动条

    前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候 ...

  2. Python 判断是否可以转化为浮点数及其他数字类型

    Python中出现ValueError: could not convert string to float:应该怎么处理 import sys import math # 判断是否为浮点数 def ...

  3. 如何用Python写一个每分每时每天的定时程序

    1.计算生日是星期几 当你女朋友要过生日了,你肯定要定找家饭店订个餐庆祝一下,餐馆工作日会空一些,周末位置不好定,要是能知道她的生日是星期几就好了,下面这个程序就能搞定~~ 比如girl friend ...

  4. JAVA基础部分复习(七、JAVA枚举类型使用)

    /** * java中的枚举 * 枚举(enum),是指一个经过排序的.被打包成一个单一实体的项列表.一个枚举的实例可以使用枚举项列表中任意单一项的值. * 枚举在各个语言当中都有着广泛的应用,通常用 ...

  5. LCA - Tarjan 算法

    void dfs(int u) { ; i <= n; i++) { if(visit[i]&&ask[u][i]) { LCA[u][i] = Find(i); } } vis ...

  6. python中表示False的一些内置对象

    By default, an object is considered true unless its class defines either a __bool__() method that re ...

  7. Linux中“零拷贝”

    服务器响应一个http请求的步骤 把磁盘文件读入内核缓冲区 从内核缓冲区读到内存 处理(静态资源不需处理) 发送到网卡的内核缓冲区(发送缓存) 网卡发送数据 数据从第一步中的内核缓冲区到第四步的内核缓 ...

  8. 邮件报警以及服务端能否ping通客户端的小例子(三)

           就这个小小的东西,弄了一天,弄的头晕眼花,毕竟第一次弄这个,记录下来,若干年之后,回看这些笔记,不知是什么样的感想,哈哈.我学一个东西的时候喜欢系统的来,一点一点的来,做这个的时候想法很 ...

  9. Vue 移动端常用tap事件封装

    基于Vue的移动端项目,有些时间原生并没用提供,需要我们自己手动封装,可以封装一些自定义指令来供全局使用. 本文封装了 tap, swipe, swipeleft, swiperight, swipe ...

  10. py-day3 python 全局变量和局部变量

    # 全局变量 如果函数的内容无 global关键字,优先读取全局变量,无法对全局变量重新赋值, name = 'mj' def change_name(): print('change_name',n ...