Android Studio 好用的设置

设置目录

  1. Getter 模板修改--自动处理 null 判断
  2. 格式化代码自动整理方法位置--广度 or 深度

设置步骤:

  1. Getter 模板修改,自动处理 null 判断:

    • 作用: 防止通过 bean 获取的 String 或者 List 为空,为空的时候 String 返回 "",List 为 null 的时候 返回 new ArrayList
    • 操作:
      1. 随便建个类, 写几个属性,按快捷键 Alt+ Insert 选择 Getter ,在弹出的对话框中,点击 ... 图标,来修改模板

      2. 新建一个新的模板,取名 NotNull_getter , 模板文件如下:

        #if($field.modifierStatic)
        static ##
        #end
        $field.type ##
        #set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
        #if ($field.boolean && $field.primitive)
        #if ($StringUtil.startsWithIgnoreCase($name, 'is'))
        #set($name = $StringUtil.decapitalize($name))
        #else
        is##
        #end
        #else
        get##
        #end
        ${name}() {
        #if ($field.string)
        return $field.name == null ? "" : $field.name;
        #else
        #if ($field.list)
        if ($field.name == null) {
        return new ArrayList<>();
        }
        return $field.name;
        #else
        return $field.name;
        #end
        #end
        }
      3. 建完新模板文件后点击 OK 键,以后通过右键 -> Generate -> Getter 来生成 getXXX() 方法时,选择刚生成的 NotNull_getter 模板

      4. getXXX() 方法都是 AS 自动生成,而且根据修改后的模板,也能保证 String 类型和 List 类型都不会返回 null 值。

  2. 格式化代码自动整理方法位置--广度 or 深度
    1. 先开启自动整理方法位置的功能,位置:

      File -> Settings -> Editor -> Code Style -> Java -> Arrangement, 默认是没有勾选的, 勾选以下两项。

      • Keep overridden methods together: keep order
      • Keep dependent methods together: breadth-first order
      1. Keep overridden methods together:

        • 意思是将由 override 标志的方法都集中放置,建议将此功能开启,override 的方法通常要么是系统的一些回调方法,要么是我们自己定义的一些接口,这部分方法本身就有一定的关联性,集中在一起很合理。
        • 注意,AS支持两种规则,一种是 keep order(按原有顺序),一种是 order by name(按照方法字母表顺序)
      2. Keep dependent methods together:
        • 意思是将相关的方法按照某则规则放在一起,AS支持两种规则:breadth-first order & depth-first order

        • 我的理解,说得通俗点也就是广度优先和深度优先,这个功能建议开启。

    2. 以上仅仅只是开启功能而已,而要借助 Android Studio 来自动整理方法位置,就是通过 AS 的格式化代码功能,快捷键也就是 Ctrl + Alt + L 。但这个格式化操作默认是没有启动对方法进行整理的操作的,每次按完快捷键后会有如下提示:

      No lines changed: code is already properly formatted

      可以通过快捷键 Ctrl + Alt + Shift + L 可以打开配置 dialog,勾选以下内容:

      • Optimize imports:优化导入
      • Rearrange code :重新排列代码

参考:https://www.jianshu.com/p/68fd5373effc

Android Studio 好用的设置的更多相关文章

  1. Android Studio(二):快捷键设置、插件安装

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  2. Android Studio 常用快捷键以及设置

    常用快捷键: Ctrl+Q 出现文档提示 跟ecplise的 鼠标悬浮差不多 Ctrl+Alt+t 包围代码 Home End 移动光标到文本首和文本尾 Alt+回车 导入当前包 Ctrl+Alt+O ...

  3. Android Studio 1.0.2 设置内存大小

    http://www.linuxidc.com/Linux/2015-04/116457.htm Android studio 1.0.2默认最大内存是750M,这样跑起来非常的卡,难以忍受,机器又不 ...

  4. android studio IDE 下,设置ACTIVITY全屏

    因为ANDROID STUDIO的JAVA类是继承AppCompatActivity的 ,所以常规的全屏设置并不管用.如果要设置全屏,请参照如下代码/ 1/首先,打开AndroidManifest.x ...

  5. Android Studio 1.2.2设置显示行号

    Android Studio设置显示行号的方法与Eclipse有少许差别,直接在代码中右键,弹出右键菜单是没有显示行号功能的. 在Android Studio中设置方法有二: 1.临时显示行号 在单个 ...

  6. android studio在windows上设置git/ssh

    windows果然是与众不同的,凡事都要那么麻烦一点点(当然..是对程序员来说..) 一开始,我想用cygwin里的git,就省得我再多装一套软件,配置也可以统一,但事实证明不行 在android s ...

  7. android studio gradle国内代理设置

    android studio在开始都各项目之前都会遇到 gradle 的同步,而在同步过程中很多依赖下载特别慢甚至出现无法现在的情况,有的时候等的时间特别长,甚至要一天,关键是等了大半天之后突然报错, ...

  8. JIRA 知多少:聊一聊 Android Studio 、工作流相关设置

    Android Studio 相关 配置 JIRA 服务器 如果细心的话会发现有一个选项卡:Commit Message.这一段代码是不是有点熟悉呢?你没有猜错,这段代码就是 commit 模板,当你 ...

  9. .net程序员的android studio 初体验 (环境设置2022年10月)

      很久以前用DevExtreme写的一个Hybird APP要添加蓝牙打印功能,但是用来打包APP的phonegap被adobe关闭了,所以,只能自己用cordova去打包安卓APP,不得已,研究了 ...

随机推荐

  1. Flutter - Migrate to AndroidX

    一段时间没玩Flutter,今天打开一个项目编译了一下,突然发现不能编译了,出现 Launching lib\main.dart on Nokia X6 in debug mode... FAILUR ...

  2. provisional headers are shown 知多少

    前言 请求里面provisional headers are shown(显示临时报头) 出现的情况很多,但原因是多样的. 如果你去直接匹配关键字搜索,得到的结果可能与你自己的情况大相径庭. 网上大部 ...

  3. SpringBoot使用缓存

    前言 我们都知道,一个程序的瓶颈通常都在数据库,很多场景需要获取相同的数据.比如网站页面数据等,需要一次次的请求数据库,导致大部分时间都浪费在数据库查询和方法调用上,这时就可以利用到缓存来缓解这个问题 ...

  4. PHP SOAP

    <?php $classmap = array(); //注意和实例一的不同 $soap = new SoapServer(null, array('uri' => "http: ...

  5. 说说nginx,iis,apache,tomcat

    一.nginx ngnix是反向代理服务器,它是代理,本身并不执行,是个传话筒,把用户提交的请求转发给web服务器,再把web服务器的结果转发给用户.为了提高性能,启用反向代理,实际的web服务器可以 ...

  6. Jmeter压测过程报错the target server failed to respond

    失败事务报错信息如下, Socket closed Non HTTP response code: org.apache.http.NoHttpResponseException (the targe ...

  7. 编辑datagridview单元格

    以这3种为例,最简单的是第三种,直接让单元格处于可编辑状态,当完成编辑后触发CellEndEdit事件,最后对输入的数据进行处理. private DateTimePicker dtp = new D ...

  8. 阿里云EDAS在本地CentOS7.5 系统搭建测试环境,部署配置中心以及部署多个war包

    参考阿里云的EDAS开发文档: 使用 Ali-Tomcat 开发应用 我们自己在内网搭建CentOS7 的测试环境,需要的资源如下: Ali-Tomcat Pandora 容器 EDAS 配置中心安装 ...

  9. git上传本地项目到github,方法2

    第一步:去github上创建自己的Repository,创建页面如下图所示: 填写相应信息后点击create即可 Repository name: 仓库名称 Description(可选): 仓库描述 ...

  10. Ruby语法基础(三)

    Ruby语法基础(三) ​ 在前面快速入之后,这次加深对基本概念的理解. 字符串 ​ Ruby字符串可以分为单引号字符串和双引号字符串,单引号字符串效率更高,但双引号的支持转义和运行 puts '单引 ...