《Android Studio实战 快速、高效地构建Android应用》--二、在Android Studio中编程
代码折叠
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中编程的更多相关文章
- 《Android Studio实战 快速、高效地构建Android应用》--五、备忘录实验(1/2)
通过开发App熟悉Android Studio的用法 开发一款用于管理备忘事项列表的App,核心功能: 创建.删除备忘 将某些备忘标记为重要(左侧带颜色标签突出显示) 涉及:操作栏菜单.上下文菜单.用 ...
- 《Android Studio实战 快速、高效地构建Android应用》--四、Git入门
Git版本控制系统(VCS)是分布式的,仓库的每一个副本均包含项目的完整历史 安装Git 下载 下载地址:http://git-scm.com/downloads 选择适合自己操作系统的来下载 如果下 ...
- 《Android Studio实战 快速、高效地构建Android应用》--三、重构代码
要成为高效的Android程序员,需要头脑灵活,能够在开发.调试和测试的过程中重构代码,重构代码最大的风险是可能会引入意外的错误,Android Studio通过分析某些具有危险性的重构操作来降低风险 ...
- 《Android Studio实战 快速、高效地构建Android应用》--Android Studio操作
前言 摩尔定律:CPU的处理能力大约18个月翻一倍 Android&Java:想要在Android Studio中开发Android App,必须以充分了解Java为前提(Java流行的原因: ...
- 【Android开发日记】之入门篇(十二)——Android组件间的数据传输
组件我们有了,那么我们缺少一个组件之间传递信息的渠道.利用Intent做载体,这是一个王道的做法.还有呢,可以利用文件系统来做数据共享.也可以使用Application设置全局数据,利用组件来进行控制 ...
- Android lifecycle 实战及使用进阶
版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/gdutxiaoxu/article/det ...
- 【Android】如何快速构建Android Demo
[Android]如何快速构建Android Demo 简介 在 Android 学习的过程中,经常需要针对某些项目来写一些测试的例子,或者在做一些 demo 的时候,都需要先写 Activity 然 ...
- 如何快速高效地完成一个Android项目?
本文的内容有别于之前文章中纯技术的探讨,会从业务逻辑.技术.团队和方法论的角度探讨如何快速高效地完成一个Android项目.当然,快速高效是有前提的,第一,本文依然是从研发的角度来谈如何把控项目的,而 ...
- Android NDK开发 Android Studio使用新的Gradle构建工具配置NDK环境(一)
本文主要讲述了如何如何在Android Studio使用新的Gradle构建工具配置NDK环境,现在把相关的步骤整理出来分享给Android程序员兄弟们,希望给他们在配置NDK环境时带来帮助. 从An ...
随机推荐
- 如何选择API测试工具
没有最好,只有最合适. 如今,越来越多的公司正在向DevOps的方向左转,以实现持续集成和持续部署开发.这意味着我们的反馈需要比以往更快,以便确定我们的应用程序是否准备好交付.这就是API测试如此重要 ...
- 高校表白app用后感
此款app前提是我们自行设计研发的app,其次满足了在校大学生对谈恋爱的需求,可以说是一款简单实用,好操作的软件.下面我根据自己的使用体验简单的介绍一下此软件: (1)首先对于未使用过的用户,你需要在 ...
- [MariaDB]MHA高可用部署-实验
目录 一.简介 1.1MHA角色 二.MHA的工具 三.MHA部署过程 3.1.1 配置 3.1.2 环境规划 3.1.3 配置一主多从 3.2 MHA配置 3.2.1 master权限授予 3.2. ...
- 最新idea注册激活(永久使用,亲测可用)
IDEA破解 一.2018版本 首先下载此破解jar包:破解jar包,将其放到合适的文件夹(首选IDEA的同级目录)进行管理: 进入IDEA的根目录,打开bin文件夹中的idea.exe.vmopti ...
- vue 项目中运用到的插件 或者依赖安装
1.安装less ,less-load npm install less less-loader --save-dev 2.安装vux npm install vux --save npm insta ...
- 【转】经典的SQL语句面试题
Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表 问题: 1 ...
- JUnit 5和Selenium基础(三)
在这一部分教程中,将介绍JUnit 5的其他功能,这些功能将通过并行运行测试,配置测试顺序和创建参数化测试来帮助减少测试的执行时间.还将介绍如何利用Selenium Jupiter功能,例如通过系统属 ...
- spark和mapreduce的区别
spark和mapreduced 的区别map的时候处理的时候要落地磁盘 每一步都会落地磁盘 reduced端去拉去的话 基于磁盘的迭代spark是直接再内存中进行处理 dag 执行引擎是一个job的 ...
- hdu 6567 Cotree 树的重心
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6567 #include<iostream> #include<algorithm&g ...
- python 黏包现象
一.黏包 1.tcp有黏包现象 表现两种情况 发送的数据过小且下面还有一个发送数据,这两个数据会一起发送 发送的数据过大,超过最大缓存空间,超出的部分在下一次发送的时候发送 原因: tcp是面向流的, ...
