代码折叠

  • Ctrl+数字加号展开光标处已折叠代码块
  • Ctrl+数字减号折叠光标处已展开代码块
  • Ctrl+Shift+数字加号展开窗口中全部代码
  • Ctrl+Shift+数字减号折叠窗口中全部代码

注释代码

选中代码示例

第一种注释

快捷键:Ctrl+/

import java.util.ArrayList;
//import java.util.List;
//
//public class Sandbox {
// public List<String> mGreetings = new ArrayList<>();
}

第二种注释

快捷键:Ctrl+Shift+/

import java.util.ArrayList;
import ja/*va.util.List; public class Sandbox {
public List<String>*/ mGreetings = new ArrayList<>();
}

代码生成

代码生成能生成各种方法,包括构造函数、getter、setter、equals()、hashCode()、toString等,光标置于类作用域中,通过Alt+Insert调出如下菜单选择生成相应代码

需要配置忽略成员名称的前缀m和s,配置路径File\Settings\Code Style\Java\Code Generation

示例代码

public class Sandbox{
public List<String> mGreetings = new ArrayList<>();
}

生成构造函数

​ 选择Constructor,接着选择一个类成员作为参数,select none选择无参构造函数

getter、setter

Java类通常是经过封装的,类成员通常为私有的,通过访问器getter设置器setter提供这些成员的共有接口,生成方法名时,生成的代码忽略了m前缀

public class Sandbox {

    public List<String> mGreetings = new ArrayList<>();

    public List<String> getGreetings() {
return mGreetings;
}
public void setGreetings(List<String> greetings) {
mGreetings = greetings;
}
}

重载方法

假设让Sandbox派生自RectShape(public class Sandbox extends RectShape),按Alt+Insert选择Override Methods重载Shpae类的hasAlpha()方法

@Override
public boolean hasAlpha() {
return true;
}

从Java 5 版本开始约定使用@Override来注解重载方法,告知编译器同时验证方法的名称和签名,以确保方法被重载

toString()方法

@Override
public String toString() {
return "Sandbox{" +
"mGreetings=" + mGreetings +
'}';
}

代理方法

选择Delegate Methods,选择mGreetings:List,有很多方法可以代理,按住Ctrl多选

插入动态模板

Android Studio的模板是作用域敏感的。

自己创建

导航至File\Settings\Live Templates选择Plain模板组,单击右上角绿色加号并选择Live Templates,填写蓝框三处并点击define,勾选java,点击应用。

选项 快捷键 描述
Insert Live Templates Ctrl+J 激活作用域敏感的Live Templates列表,将会在文档中插入模板代码
Surround with Live Templates Ctrl+Alt+J 激活作用域敏感的Surround with Live Templates列表,将会使用一个作用域敏感的动态模板包裹选中内容

使用

方法1.输入cb即可使用自己定义的模板

	///////////////////////////////
//
//////////////////////////////

方法2.选中相应内容按Ctrl+Alt+J,相应内容会作为变量被模板包裹

	///////////////////////////////
// 我想被注释
//////////////////////////////

移动代码

两种移动方式:Move Statement 和 Move Line

Move Statement

将光标置于想要移动的块的起始行(带有开始花括号的那行)中的任意位置,按Ctrl+Shift+↑|↓,Move Statement的特点就是移动的同时会考虑边界和作用域

Move Line

将光标置于想要移动的行,按Alt+Shift+↑|↓

《Android Studio实战 快速、高效地构建Android应用》--二、在Android Studio中编程的更多相关文章

  1. 《Android Studio实战 快速、高效地构建Android应用》--五、备忘录实验(1/2)

    通过开发App熟悉Android Studio的用法 开发一款用于管理备忘事项列表的App,核心功能: 创建.删除备忘 将某些备忘标记为重要(左侧带颜色标签突出显示) 涉及:操作栏菜单.上下文菜单.用 ...

  2. 《Android Studio实战 快速、高效地构建Android应用》--四、Git入门

    Git版本控制系统(VCS)是分布式的,仓库的每一个副本均包含项目的完整历史 安装Git 下载 下载地址:http://git-scm.com/downloads 选择适合自己操作系统的来下载 如果下 ...

  3. 《Android Studio实战 快速、高效地构建Android应用》--三、重构代码

    要成为高效的Android程序员,需要头脑灵活,能够在开发.调试和测试的过程中重构代码,重构代码最大的风险是可能会引入意外的错误,Android Studio通过分析某些具有危险性的重构操作来降低风险 ...

  4. 《Android Studio实战 快速、高效地构建Android应用》--Android Studio操作

    前言 摩尔定律:CPU的处理能力大约18个月翻一倍 Android&Java:想要在Android Studio中开发Android App,必须以充分了解Java为前提(Java流行的原因: ...

  5. 【Android开发日记】之入门篇(十二)——Android组件间的数据传输

    组件我们有了,那么我们缺少一个组件之间传递信息的渠道.利用Intent做载体,这是一个王道的做法.还有呢,可以利用文件系统来做数据共享.也可以使用Application设置全局数据,利用组件来进行控制 ...

  6. Android lifecycle 实战及使用进阶

    版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/gdutxiaoxu/article/det ...

  7. 【Android】如何快速构建Android Demo

    [Android]如何快速构建Android Demo 简介 在 Android 学习的过程中,经常需要针对某些项目来写一些测试的例子,或者在做一些 demo 的时候,都需要先写 Activity 然 ...

  8. 如何快速高效地完成一个Android项目?

    本文的内容有别于之前文章中纯技术的探讨,会从业务逻辑.技术.团队和方法论的角度探讨如何快速高效地完成一个Android项目.当然,快速高效是有前提的,第一,本文依然是从研发的角度来谈如何把控项目的,而 ...

  9. Android NDK开发 Android Studio使用新的Gradle构建工具配置NDK环境(一)

    本文主要讲述了如何如何在Android Studio使用新的Gradle构建工具配置NDK环境,现在把相关的步骤整理出来分享给Android程序员兄弟们,希望给他们在配置NDK环境时带来帮助. 从An ...

随机推荐

  1. GraphicsLab Project之Diffuse Irradiance Environment Map

    作者:i_dovelemon 日期:2020-01-04 主题:Rendering Equation,Irradiance Environment Map,Spherical Harmonic 引言 ...

  2. Jenkins+ant+jmeter环境搭建

    下载的工具版本: apache-jmeter-3.0 apache-ant-1.8.4 jenkins-2.46.3 之前用jmeter写了测试接口的脚本,运行及返回结果都正常,所以需要做的就是工具的 ...

  3. LibreOJ6279. 数列分块入门 3 题解

    题目链接:https://loj.ac/problem/6279 题目描述 给出一个长为 \(n\) 的数列,以及 \(n\) 个操作,操作涉及区间加法,询问区间内小于某个值 \(x\) 的前驱(比其 ...

  4. UCI 人口收入数据分析(python)

    一.项目介绍 UCI上有许多免费的数据集可以拿来练习,可以在下面的网站找寻 http://archive.ics.uci.edu/ml/datasets.html 这次我使用的是人口收入调查,里面会有 ...

  5. # "可插拔式"组件设计,领略组件开发的奥秘

    从一个 Confirm 组件开始,一步步写一个可插拔式的组件. 处理一个正常的支付流程(比如支付宝购买基金) 点击购买按钮 如果风险等级不匹配则:弹确认框(Confirm) 用户确认风险后:弹出支付方 ...

  6. Java 基础(三)| IO流之使用 File 类的正确姿势

    为跳槽面试做准备,今天开始进入 Java 基础的复习.希望基础不好的同学看完这篇文章,能掌握泛型,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆. 一.什么是 File 类? java ...

  7. 从头学pytorch(二十):残差网络resnet

    残差网络ResNet resnet是何凯明大神在2015年提出的.并且获得了当年的ImageNet比赛的冠军. 残差网络具有里程碑的意义,为以后的网络设计提出了一个新的思路. googlenet的思路 ...

  8. H5录音音频可视化-实时波形频谱绘制、频率直方图

    这段时间给GitHub Recorder开源库添加了两个新的音频可视化功能,比以前单一的动态波形显示丰富了好多(下图后两行是不是比第一行看起来丰满些):趁热打铁写了一个音频可视化相关扩展测试代码,下面 ...

  9. ReactNative: 将自定义的ReactNative组件制作成第三方库的详细流程(制作-->发布)

    一.简介 在讲本篇博文之前,需要你熟知怎么自定义ReactNative组件,然后才好学习将自定义的ReactNative组件制作成第三方库.本文中的自定义的ReactNative组件LoginMana ...

  10. Maven 基础环境搭建 项目依赖jar包导入

    一.创建一个Maven工程 不清楚的话请查阅其它文档. 二.引入项目依赖的jar包 1.Spring 2.SpringMvc 3.Mybatis 4. 数据库连接池,驱动 5.其它(jstl.serv ...