代码折叠

  • 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. 1029 旧键盘 (20 分)C、Java、python

    题目描述 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出 肯定坏掉的那些键. 输入描述: 输入在2行中分别给出应该输入的文 ...

  2. Windows安装EMQ服务器(mqtt)

    先去EMQ官网下载安装包 https://www.emqx.io/downloads#broker 注意:此处一定不能下错成企业版的,不然EMQ会由于缺少企业license无法启动服务 解压到任意路径 ...

  3. IDEA 2019.2及以下版本永久激活教程(亲测可用)

    写在前面 由于最近jetbrains公司开始严厉打击盗版激活码,所以导致一大批激活码失效,我身边的小伙伴对于如此苦恼,但是由于考虑到正版费用还是比较高昂的前提下,所以鉴于此,遂将之前整理的jar包激活 ...

  4. npm全局模块卸载及默认安装目录修改

    卸载全局安装模块  npm uninstall -g <package> 卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看:npm ls npm ...

  5. FNScanner二维码接口openView自定义扫码Demo

    本文出自APICloud官方论坛 FNScanner 模块是一个二维码/条形码扫描器,是 scanner 模块的优化升级版.在 iOS 平台上本模块底层集成了 Zbar 和系统自带的条形码/二维码分析 ...

  6. git 工作实用创建删除分支

    一.创建分支 .创建本地分支并切换 git checkout -b dev_wt2 .创建切换并关联远程分支 git checkout -b dev_wt3 orgin/dev_wt3 .创建远程分支 ...

  7. render()到底渲染的什么?

    1.格式 render(request,"xx.html",{"xx": xx}) 2.本质 通过模板语言动态渲染字符串(HTML文件) 注意: 1.HTML文 ...

  8. 图解 Kubernetes

    容器 在了解 Kubernetes 之前,让我们先了解一个容器. 因为如果不了解容器就没法聊容器编排. 容器就是...一个你塞入所有材料的容器. "材料"是指你的应用代码.依赖库, ...

  9. linux操作系统运行学习总结

    https://www.cnblogs.com/f-ck-need-u/p/10481466.html 操作系统学习总结 1.linux上面cpu通过上下文切换达到进程的不断切换,通过动态计算切换执行 ...

  10. Xhemj的Minecraft皮肤信息

    xhemj Minecraft Profile UUID:086e0354-fbb6-446b-83d4-60bdf449ad4e UUID:086e0354fbb6446b83d460bdf449a ...