代码折叠

  • 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. 「学习笔记」珂朵莉树 ODT

    珂朵莉树,也叫ODT(Old Driver Tree 老司机树) 从前有一天,珂朵莉出现了... 然后有一天,珂朵莉树出现了... 看看图片的地址 Codeforces可还行) 没错,珂朵莉树来自Co ...

  2. 面试中经常问到的Redis七种数据类型,你都真正了解吗?

    前言 Redis不是一个简单的键值对存储,它实际上是一个支持各种类型数据结构的存储.在传统的键值存储中,是将字符串键关联到字符串值,但是在Redis中,这些值不仅限于简单的字符串,还可以支持更复杂的数 ...

  3. java基础之----分布式事务tcc

    最近研究了一下分布式事务框架,ttc,总体感觉还可以,当然前提条件下是你要会使用这个框架.下面分层次讲,尽量让想学习的同学读了这篇文章能加以操作运用.我不想废话,直接上干货. 一.什么是tcc?干什么 ...

  4. Django之表高级操作

    目录 一.如何开启自己的测试脚本? 二.对表数据的添加.更新.删除 1.create() 2.update() 3.delete() 4.查看执行的sql语句 三. 单表查询13个操作 返回Query ...

  5. 欧拉-拉格朗日方程 The Euler-Lagrange Equation

    在 paper: Bounded Biharmonic Weights for Real-Time Deformation 中第一次接触到 Euler-Lagrange 方程,简单记录一下. 泛函的定 ...

  6. ubuntu下使用APT安装和卸载MySQL5.7

    安装方式一: 向系统的软件仓库中列表中添加MySQL APT  仓库 去http://dev.mysql.com/downloads/repo/apt/.下载MySQL APT repository ...

  7. The command '/bin/sh -c unzip -o php-7.2.23-src.zip' returned a non-zero code: 1

    Dockerfile 内容 #centos7 nginx php redis inotify FROM centos:7 MAINTAINER INFOBIRD RUN yum -y update & ...

  8. 村庄之间建立邮局 - 区间 dp

    There is a straight highway with villages alongside the highway. The highway is represented as an in ...

  9. 使用Robot Framework框架远程操作UNIX系统

    bot Framework是一个强大的自动化测试框架,依靠社区力量编写的Test Library为它提供了非常强的扩展性.下面我将介绍的就是如何使用第三方提供的扩展测试库(Test Library)来 ...

  10. UAF——use after free

    本文系pwn2web原创,转载请说明出处 UAF 漏洞,英文原名use after free,该漏洞简洁的可以概括为 分配一块内存 free该内存但不回收,构成悬垂指针 再次构造分配同样大小的内存,按 ...