让你变懒的 Android Studio Live Templates

俗话说,不想偷懒的程序员不是好程序员!那么今天就教大家偷懒下!

先举个例子,我们在 Android 开发中输入 Toast ,然后会有如下如下的快速操作:

是不是很方便?

有同学问,这不就是自动补全么?错了,乍一看是自动补全,其实不然。自动补全是对一个方法或类名的补全,比如你输入 find 然后就会有 findViewById 方法提示你,你可以快速定位,但是我们实际开发中一般还需要对它强制转型,然后加上 R.id.xx 来声明它的 id,但是你可以试着输入 fbc ,然后按 tab 或者 enter 键,你会发现比自动补全还要更方便。

这个就叫做 Live Template ,如果真要翻译姑且就叫做实时模板吧,在 AS 中有两种模板,一种就是你在新建一个 Activity 的时候可以选择 Empty Activity、FullScreen Activity 之类的,这个一般是对你整个文件而言的,还有一种就是本篇要介绍的 Live Template ,这个会在一些常用到的代码片段会非常有用。

打开 设置 -> Editor -> Live Templates ,可以看到默认已经有很多 Live Templates 了,可以看下我的截图 Android 分类下有如下这些模板:

你都可以输入那些缩写来快速启用这些模板,比如定义一个常量,快速设置 View 为 gone ,快速启动一个 Activity 等,你都可以直接输入 constgonestarter 来快速操作,是不是觉得很酷炫!

那具体是如何实现的呢?我们不妨点击这些模板列表的 starter ,有如下代码:

public static void start(Context context) {
    Intent starter = new Intent(context, $ACTIVITY$.class);
    starter.putExtra($CURSOR$);
    context.startActivity(starter);
}

其中 ACTIVITY 代表当前所在的类名,CURSOR 代表当前鼠标的定位位置,同理 newInstance 可以帮你在 Fragment 中快速声明一个新建 Fragment 的方法,它的代码如下:

public static $fragment$ newInstance($args$) {
    $nullChecks$
    Bundle args = new Bundle();
    $addArgs$
    $fragment$ fragment = new $fragment$();
    fragment.setArguments(args);
    return fragment;
}

其中 $$ 代表是一个变量,中间包裹着这个变量的名字,你可以对这个变量声明类型,这个后面再说。

是不是很容易理解呢?如果理解了那么就可以来根据自己的使用习惯来定义自己的 Live Templates 了。

比如我们在开发中要经常写单例模式吧?每次都要写这么一大段是不是很烦?那么今天就教大家自定义一个单例模式的模板,以后轻松搞定单例。

设置 -> Editor -> Live Templates ,点击右上角的 + 号,选择 Template Group ,因为我习惯自定义的单独分组先,这样好管理,比如新建一个分组叫做 stormzhang ,然后就会看到有一个 stormzhang 的分组显示在了列表里,这时候鼠标选中该分组,然后再点击右上角的 + 号,点击 Live Template ,然后如下图填写缩写与描述,紧接着把如下代码拷贝到下面的输入框里(PS:单例模式的写法有很多种,这里就随意以其中一种为例)

private static $CLASS$ instance = null;

private $CLASS$(){
}

public static $CLASS$ getInstance() {
    synchronized ($CLASS$.class) {
        if (instance == null) {
            instance = new $CLASS$();
        }
    }

    return instance;
}

注意这里,如果你这段代码是一些固定的代码,那么至此就结束了,但是这段代码里是动态的,里面有一些变量,因为每个类的类名如果都需要自己手动更改就太麻烦了,所以有个变量 CLASS ,所以需要点击下面的 Define ,先要定义变量所属的语言范围,点开之后可以看到这里支持 HTML、XML、JSON、Java、C++ 等,很明显,我们这里需要支持 Java ,选择选中 Java :

紧接着,我们需要给变量 CLASS 定义类型,这里的 CLASS 名字随意取的,为了可读性而已,你高兴可以取名 abc ,真正给这个变量定义类型的是点击 Edit variables 按钮,来对该变量进行编辑,我们选择 className() 选项,可以看到还有其他选项,但是看名字大家大概就猜到什么含义了,这里就不一一解释了。

点击 ok 保存,至此我们定义的一个单例的 Live Template 就完成了。你可以随意打开一个类文件,然后输入 singletontab 或者 enter 键就可以看到神奇的一幕出现了,是不是很帅?

看完这篇文章想想自己还有哪些常用到的代码片段,赶紧把它定义成一个 Live Template 吧,你会发现你又可以变懒了!

本文原创发布于微信公众号 AndroidDeveloper「googdev」,转载请务必注明出处!

时间: 2024-10-12 05:10:09

让你变懒的 Android Studio Live Templates的相关文章

Android Studio下项目构建的Gradle配置及打包应用变体

Gradle简介 ??Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点.基于Intellij IDEA社区版本开发的Android Studio天生支持Gradle构建程序.Groovy是一种基于JVM的敏捷开发语言,结合了Phthon.Ruby和Smalltalk的许多强大特性.同时,Groovy代码既能够与java代码很好地结合,也能够用于扩展现有的代码. Grad

android studio中R文件变红并报错

昨天晚上碰到一个十分费解的问题,想分享一下,希望能帮到你. 以前用studio是R文件是不报错的.当你从其他程序拷过一些代码是会发现R文件会变红并且应用程序不能运行.除了R文件其他地方没有报错,只有app运行时会报错 . 这是因为当你从其他程序拷过一些代码.你的r文件中没有自动加载,这时你需要把那些报错的代码删除并重新在android studio中输入,这样你的应用程序就可以运行了.

全面介绍Android Studio中Git 的使用(一)

全面介绍Android Studio中Git的使用 前言:本篇博文将记录如何在Android Studio中使用Git版本控制系统,这货在草稿箱里已经放了起码有两个月了吧,老躺着想起来了心里不舒服,索性这两天抽了些时间,整理出来算了,最近气温下降的厉害,发现自己越来越懒了. 一.Git 与GitHub 这里首先介绍下Git与GitHub是什么东西,他们之间有何区别呢? Git :分布式版本控制系统,最初用在Linux上,可以和SVN.CVS等作为同一个概念理解,目前世界上最先进的分布式版本控制系

Android studio安装

1.首先上甲骨文公司的官方网站下载JDK的安装包,根据自己电脑的操作系统选择正确的版本下载.不知道下载地址的同学可以百度一下很快就能搜到.下载还的安装包如下图所示. 2.点击下载好的JDK安装程序,百度一下,网上很多,然后弹出如下界面,点击"下一步"即可. 3.此时比较关键,设置安装的路径,可以事先建立一个文件夹,以在D盘为例,如D:\java. 4.修改路径为:D:\java\jdk1.7.0,这里安装的是jdk1.7. 5.修个好路径后,点击"下一步",即可.

Android Studio官方文档之构建和运行你的APP

Android Studio官方文档之构建和运行你的APP 本文由MTJH翻译,jkYishon审校. 前言 默认情况下,Android Studio设置新的项目并且部署到模拟器或者真机设备上,只需要点击几下.使用即时运行,你并不需要构建一个新的APK即可将改变后的方法和现有的应用资源应用到一个正在运行的应用程序中,所以代码的改变是即时可见的. 点击Run来构建并运行你的APP.Android Studio通过Gradle构建你的App,选择一个部署的设备(模拟器或连接的设备),然后把你的APP

Android Studio的下载和安装教程(从ADT到AS)

之前一直使用的是Android development tools(简称ADT),后来说是google对ADT不再提供支持,然后一直在考虑是否把自己电脑换成Android Studio(简称AS),从ADT到AS这个过程自己觉得软件安装真的伤不起,端午节第二天和第三天(也是今天),终于完成了从ADT到AS的转 变,OK,我还有很多要学习的地方. 下面我来介绍一下ADT的转变成AS: 1.第一次安装完之后模拟器根本启动不了(就算你刚新建的模拟器,他还是不能在启动APP时候没有可用的模拟器),而且用

android studio学习----gradle基础

Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. 安装Gradle 在Android Studio系列教程一--下载与安装中新建项目成功后会下载Gradle,貌似这个过程不FQ也是可以下载,但是访问特别慢,建议FQ下载.那么下载的Gradle到什么地方呢? Mac上会默认下载到 /Users/<用户名>/.gradle/wrapper/dists 目录 Win平台会默认下

Android Studio安装指南及genymotion配置

第一次安装Java JDK ,要大于1.7版本,不安装的话就会出现如下提示: 这时点击上面的JDK链接,跳转到甲骨文的JDK下载页面,根据操作系统,选择下载版本,如下: 下载后安装JDK: 安装完成后,还需要配置JAVA_HOME环境变量: 变量值即JDK安装路径. 然后再次安装Android Studio : 安装成功,首次进入会安装SDK:(Android 6.0) 话说由于墙的存在,必须要使用VPN,有个一小时VPN还是能用的,不过不太稳定: 出现这个界面,说明更新SDK完成: 然后是如下

Android Studio 简单介绍和使用问题小结

原文  http://www.cnphp6.com/archives/59264 主题 Gradle Android Studio Android 随着android 5.0 的发布,android 开发已经进入了一个全新的时代,eclipse开发安卓已经有点不合时宜了,在github上80%的android项目都采用android studio开发,而且android studio的中文教程越来越多,还有什么理由不固守这eclipse 呢. 下面这篇文章对了解android studio 很有