Android Studio模板之代码片段

Android Studio模板之代码片段

声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。 举报

  

  来这里找志同道合的小伙伴!

  代码片段是Template上的最小单位,因此它也具有最大的灵活性,支持多参数配置、TAB切换、代码块包装等多种特性(IDEA同样适用)。

  下面先直接上几张演示效果图

  创建一个单例类

  写一个将InputStream转化为String的方法

  生成main方法并打印数字

  用try catch来包装代码块

  上面的这些有的是IDE自带的,有的是自定义的。具体位置我们可以进入IDE,Preserences,Editor,Live Templates,我们可以在右边栏看到一些列IDE预设的template,如下图

  

  这里我们展开Android,可以看到下图

  

  这里面所有的我们都可以使用,括号后面的内容是为了描述该模板的,你也可以取消前面的勾选来取消该模板。

  其实系统预设的有很多都是很实用的,有兴趣的可以去试一试,不多说。这里主要看一下如何自定义模板,把一些常用的代码片段DIY到自己的模板库中,当下次再需要同样代码的时候只需要一个标识符就能迅速自动生成。

  我们点击右上角的加号,我们可以看到两个选项一个是Live Template,这个表示一个模板,另一个是Template Group,这个表示一个模板所属的分组,就像上面看到的Android,它就属于一个分组。

  

  接下来我们先创建一个自己的Template Group,名称随便取,不要与已有的分组重名就行,这里就取为Custom。然后我们选中新建的这个Custom分组再创建Live Template,会看到如下界面

  

  我对这个界面做了数字标志,大致说下每个区域代表的含义

  • 区域1:表示模板的缩写,也是我们最终使用时在编辑区输入的指令

  • 区域2:表示模板的提示,当输入对应缩写时,就会弹出这个提示

  • 区域3:这里就是最关键的模板区了,模板区包含两部分,一个是模板内容,它可以是任意字符串,另一个是模板变量,它有自己特殊的含义并且格式固定,首尾都是”$”符。模板变量又包含预设变量和自定义变量,比如”$END$”就是一个预设变量,它指定了模板导入结束后鼠标光标最终要停留的位置,而自定义变量则表示模板中一些动态性的部分,比如类名,它在不同的类中引入的结果是不同的。在多个自定义变量的情况下引入模板时,默认按TAB键切换至下个自定义变量位置。

  • 区域4:自定义变量的配置入口,可以给我们的自定义变量添加一些约束条件

  • 区域5:指定该模板的作用域,例如指定用于Java还是groovy等等

  • 区域6:提供一些引入模板的可选操作

  这里我们来写一个生成单例的模板,我们按照下图定义好缩写,描述与模板内容

  

  模板内容的代码如下

  private static final byte[] sInstanceLock = new byte[0];

  private static $className$ sInstance;

  private $className$() {

  }

  public static $className$ instance() {

  if (sInstance == null) {

  synchronized (sInstanceLock) {

  if (sInstance == null) {

  sInstance = new $className$();

  }

  }

  }

  return sInstance;

  }

  然后我们选择区域4来编辑我们的自定义变量,我们进去后可以看到如下弹窗

  

  • Name为自定义的变量名称

  • Expression表示系统提供的一些方法

  • Default value为改变量的默认值

  • Skip if define勾选后,如果该变量被赋值则跳过,相当于引入过程中一次手动的TAB

  接着我们在Expression中选择className(),并勾选Skip if define,并点击确定

  

  最后我们点击区域5来选择模板的作用域,我们选择Java—Declaration

  

  然后保存,我们的单例模板便生成成功了。测试下,在IDE中新建个Java类,在类的内部输入single便出现最上面的那个UserManager的效果。

  当然除此之外还有使用”$SELECTION$”来包装代码块的模板,这个使用场景相对较少这里就不举例了,主要使用的就是这种直接的模板模式。感觉一些常用的,特别是工具类中静态方法相关的,我们都可以抽取成模板,提高开发效率。

  感谢 Puke同学投稿,Blog地址:

  https://puke3615.github.io/

  如果对您开发有帮助,欢迎在作者的 Blog 给个Star 也可以分享给小伙伴哦; 小编每天都兢兢业业的为整理干货,支持小编在下方给鼓励+1,需要投稿与及有疑问的小伙伴可以在下方留言,小编会第一时间与您联系!

  大家都在看

  安卓巴士首次空降杭州 开年第一期沙龙完美落幕

  少年,老夫带你撸一把Android项目框架,你可想学?

  Android仿今日头条的开源项目

  程序员不爽项目经理的10点【Bus Weekly】四十期

  

  戳原文,更有料!

http://mt.sohu.com/20170303/n482280854.shtml mt.sohu.com true 安卓巴士Android开发者门户 http://mt.sohu.com/20170303/n482280854.shtml report 6896 来这里找志同道合的小伙伴!代码片段是Template上的最小单位,因此它也具有最大的灵活性,支持多参数配置、TAB切换、代码块包装等多种特性(IDEA同样适用)
阅读(18) 举报
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
  • 图片说明

    微信扫一扫
    分享至朋友圈

热门关注

搜生活
搜生活+关注

搜狐公众平台官方账号

MAGIC杨梦晶
MAGIC杨梦晶+关注

生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者

搜狐教育
搜狐教育+关注

搜狐网教育频道官方账号

星吧GEO
星吧GEO+关注

全球最大华文占星网站-专业研究星座命理及测算服务机构

收藏文章
我的社区
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
还没有评论,快来抢沙发吧!
  • 最新评论
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
女生用床单吊外卖 福岛去污费达1573亿 网红深夜醉酒直播 延迟退休最新消息 日本捕获巨型金枪鱼 一超市售腐烂水果 10月1日取消漫游费 马来逮捕恐袭嫌犯 玖月奇迹王小海丢电话簿 漂亮姑娘被当怪物 中国军费首破万亿 全球富豪榜500人名单 养老金标准继续上调 男子做了20年女人 女子养鳄鱼当宠物 台湾禽流感疫情蔓延 女大学生懒癌发作 黄晓明碰瓷古文物 周润发曾为她自杀 轰6K被指局限颇多 三生三世侵权道歉 陈乔恩遭网友喷惨 小孩玩电吹风起火 网购投影仪寄板砖 鹿晗歌词表达心声 张继科被迷妹索吻 亚马逊快递送到月球 95岁赌王突然入院 太阳能电站成死亡禁区 史上最贵空气出售 俄增加1550枚核武器 女生用床单吊外卖
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值