Android Studio Live Templates使用详解,提高敲代码的速度

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
视频直播,500GB 1个月
简介: Android Studio Live Templates使用详解,提高敲代码的速度

Android Studio Live Templates使用详解,提高敲代码的速度

转载请注明出处,大力哥的博客,大力哥的博客_大力-哥_CSDN博客

本篇将从 Live Templates简介,常用AS自带模板,自定义模板三个方面开展介绍,并且只介绍 Live Templates中Java代码方面的使用,其余感觉不是很常用,看完这篇之后你可以自己研究一下。

(温馨提示,本文图片较多建议在电脑上阅读)

一个好的程序猿应该是花更多的时间在处理业务处理上,而不是重复敲相同的代码,一行代码节约1s也是节约。看完这篇之后你会觉得AS确实越来越强大了,简直是Android程序猿的福音呀,希望推出更多提高开发效率的工具或插件。废话不多说,直接进入主题。


什么是 Live Templates

没有统一的翻译,代码模板、热键模板、动态模板随便叫哪个都行


作用

  • 代码快速补全
  • 提高写代码的速度


位置

  • Settings->Editor->Live Templates


用法

  • 全关键字型:关键字–>回车
  • 后缀关键型:使用对象.关键字–>回车


简单使用

先来两个效果图,吊一下胃口,更加实用的还在后面

AS自带模板

快速打印日志

logt –>快速补全TAG

loge—>快速补全Log.e(TAG,”“);

image.png

自定义模板

输入 sin 回车即自动补全单例模式所需的代码

image.png

系统自带模板

系统自带模板从两个方面讲解,全关键字型和后缀关键型,由于篇幅的原因,这里只讲解常用的一些模板,未讲解到的可以到 Settings->Editor->Live Templates中查看

全关键字型

先来说说什么是全关键字型,其实就是输入关键字–>回车,eg:输入loge 回车即会自动打印出

Log.e(TAG, "onCreate: ", );
  • 1
  • 1

findViewById

在此之前我们在Activity中找到一个view可能是这样写的:

image.png

有了fbc之后我们可以这样写:fbc 回车

image.png

定义常量

以前你写整形常量是不是要一个单词的敲出: private static final int 。。。

还有更快的写法:const 回车

image.png

字符串常量也有:key 回车

image.png

其他常量,目前as只提供了整形和字符串类型常量的模板,学了后面的自定义之后你就可以定义其他类型的了,当然还有一种捷径:psf 回车即可快速补全

public static final
  • 1
  • 1

for循环

相信很多小伙伴也觉得每次都要写整个for循环好麻烦,as提供了:fori 回车,看对比图

这里还有一个隐藏的模板,sout 回车 即可快速补全 System.out.printf(“”);

image.png

if判断

  • ifn 回车(推荐)

image.png

inn 回车

image.png

隐藏View

  • gone

image.png

快速在子线程中切换到主线程

  • rouiT

image.png

字符串格式化

  • Sfmt

image.png

快速实现自定义View的三个构造方法

  • ViewConstructors

个人觉得这个是一个非常实用的模板了,比快捷键还方面,不行你自己试试

image.png

OK 全关键字型就只讲这些常用的了,不常用的可以去设置中查看

后缀关键型

再来说说什么是后缀关键型,其实就是“使用对象.关键字–>回车”,继续往下看就知道是什么啦:

判断

  • .notnull
  • .null

image.png

局部变量

  • .var

image.png

全局变量

  • .field

这个也是一个非常实用的模板,在代码量非常多的类中就更加突出了,不用跑到来的最前面定义右跑回来初始化。

image.png

循环

  • .for 增强for循环
  • .fori 正序遍历
  • .forr 逆序遍历

image.png

还有针对下标的

image.png

return返回

  • .return

image.png

类型转换

  • .cast

image.png

抛出异常

  • .try

image.png

字符串格式化

  • .format

image.png

分支

  • .switch

image.png

后缀型的也只讲这些常用的了,快进入激动的自定义模板

自定义模块

我这里给出几个比较常用的自定义模板,如果你觉得有比较好的可以抽取出来的,欢迎留言。

单例模式

还是一开始就给出的单例模式,再来看看效果图:

image.png

是不是很带感,来看看怎么设置(建议先新建一个Template Group,便于管理):

image.png

然后点击 Edit variables

image.png

下面是单例模式的模板(根据个人写单例模式的习惯来)

private static $class$ m$class$ = null;
private $class$(){}
public static $class$ getInstance() {
    synchronized ($class$.class) {
        if (m$class$ == null) {
            m$class$ = new $class$();
        }
    }
    return m$class$;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

来看看上面涉及到的知识:

image.png

更详细的Expression 介绍:Variables in live templates; variables in code snippets

Skip if defined : 如果选中,光标会直接跳到句末,不会停留在某个变量处。

click

image.png

模板:

public void onClick(View view) {
    switch (view.getId()) {
        case R.id.$resId$:
            $content$
            break;
        default:
            break;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

打印带定位功能的日志

新建 dl (名字自拟)为下面的模板

Log.e("$class$","$method$($class$.java:$line$)"+$content$);
  • 1
  • 1

image.png

image.png

为什么打印下面的代码就可以定位到指定类所在的行数呢?

Log.e("MainActivity","onCreate(MainActivity.java:13)我是日志内容");
  • 1
  • 1

告诉你一个小秘密,logcat中只要打印的内容中带有”(类名.java:行号)”就可以自动变为可点击的链接,点击之后就可以跳转到改类指定的行数。这样就实现了打印带定位功能的日志,但是这个是有一定的局限性的,比如打印语句之前很可能会增加代码,由于行数是固定死的,此时就会导致定位有一定的误差。怎么解决呢?这里推荐看一个日志打印的工具类,android studio日志打印神器,日志代码跟踪器ELog

Switch

快速搭建模式、防止漏掉break和default

switch ($content$) {
    case $value$:
        $code$
        break;
    default:
        break;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

image.png

字符串非空判断

这也是一个非常实用的模板了

TextUtils.isEmpty($content$);
  • 1
  • 1

image.png

最后

福利,这篇文章是本人在给组内同事培训时制作的ppt修改而来,我将ppt共享出来,如果你有这个需求也可以下来修改修改。

image.png

相关文章
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
283 1
|
1月前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
24 1
|
1月前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异:从代码到用户体验
【10月更文挑战第5天】在移动应用开发的广阔天地中,安卓和iOS两大平台各占半壁江山。它们在技术架构、开发环境及用户体验上有着根本的不同。本文通过比较这两种平台的开发过程,揭示背后的设计理念和技术选择如何影响最终产品。我们将深入探讨各自平台的代码示例,理解开发者面临的挑战,以及这些差异如何塑造用户的日常体验。
|
1月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
274 2
|
2月前
|
存储 Java Android开发
🔥Android开发大神揭秘:从菜鸟到高手,你的代码为何总是慢人一步?💻
在Android开发中,每位开发者都渴望应用响应迅速、体验流畅。然而,代码执行缓慢却是常见问题。本文将跟随一位大神的脚步,剖析三大典型案例:主线程阻塞导致卡顿、内存泄漏引发性能下降及不合理布局引起的渲染问题,并提供优化方案。通过学习这些技巧,你将能够显著提升应用性能,从新手蜕变为高手。
29 2
|
2月前
|
XML IDE 开发工具
🔧Android Studio高级技巧大公开!效率翻倍,编码不再枯燥无味!🛠️
【9月更文挑战第11天】在软件开发领域,Android Studio凭借其强大的功能成为Android开发者的首选IDE。本文将揭示一些提升开发效率的高级技巧,包括自定义代码模板、重构工具、高级调试技巧及多模块架构。通过对比传统方法,这些技巧不仅能简化编码流程,还能显著提高生产力。例如,自定义模板可一键插入常用代码块;重构工具能智能分析并安全执行代码更改;高级调试技巧如条件断点有助于快速定位问题;多模块架构则提升了大型项目的可维护性和团队协作效率。掌握这些技巧,将使你的开发之旅更加高效与愉悦。
67 5
|
3月前
|
JSON JavaScript 前端开发
Android调用Vue中的JavaScript代码
Android调用Vue中的JavaScript代码
42 3
|
3月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
59 1
|
3月前
|
Android开发
Android Studio: 解决Gradle sync failed 错误
本文介绍了解决Android Studio中出现的Gradle同步失败错误的步骤,包括从`gradle-wrapper.properties`文件中获取Gradle的下载链接,手动下载Gradle压缩包,并替换默认下载路径中的临时文件,然后重新触发Android Studio的"Try Again"来完成同步。
1441 0
Android Studio: 解决Gradle sync failed 错误
|
3月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
142 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题