阅读 988

Android Studio 4.0 New Class 新特性解析

Android studio 4.0 在5月底发布了,经过了这么长时间的深度使用,还是很稳定的, 新推出的功能特性也很nice。  

但是在4.0前后,New class 这个功能是完全不一样的呈现方式,也困扰了我好久,终于在stack over flow上有大佬帮小弟解开了迷惑。研究了一下后,还是觉得写下来会好一些。 

 1、 在4.0之前,创建class 是直接给出一个如下的弹窗 



通过这种方式,可以直接将类的名称、种类、父类、要实现的接口、包名、作用域等状态清晰的展示出来,仅需要傻瓜式的配置即可,而且会有代码提示。

 2、更新到4.0之后,类的创建方式变成了根据文件模板的方式来创建 

(1)要查看模板、查找自定义内容和修改模板,请按以下步骤操作: 对于 Windows 或 Linux,依次选择 File > Settings > Editor > File and Code Templates > Files。 对于 macOS,依次选择 Android Studio > Preferences > Editor > File and Code Templates > Files。 

(2)Android官方提供了一部分文件模板,具体可以查看studio里的file template,或者访问:https://developer.android.com/studio/write/create-java-class#templates 

(3) Create New Class 对话框中的内容填写

Android Studio 会将文件模板变量替换为生成的 Java 文件中的值。您需要在 Create New Class 对话框中输入这些值。模板包含以下可供您使用的变量:

  • IMPORT_BLOCK - 以换行符分隔的列表,其中包含支持任何父类或接口所需的 Java import 语句,或为空字符串 ("")。例如,如果您仅实现 Runnable 接口而不扩展任何内容,则此变量将为 "import java.lang.Runnable;\n"。如果您实现 Runnable 接口并扩展 Activity 类,则此变量将为 "import android.app.Activity;\nimportjava.lang.Runnable;\n"
  • VISIBILITY - 相应类是否具有公开访问权限。其值可以为 PUBLICPACKAGE_PRIVATE
  • SUPERCLASS - 单个类名称,或为空。如果存在,则新类名称后面将有一个 extends ${SUPERCLASS} 子句。
  • INTERFACES - 以英文逗号分隔的接口列表,或为空。如果存在,则父类后面将有一个 implements ${INTERFACES} 子句;如果没有父类,则类名称后面将有一个该子句。对于接口和注释类型,接口具有 extends 关键字。
  • ABSTRACT - 相应类是否应为抽象类。其值可以为 TRUEFALSE
  • FINAL - 相应类是否应为最终类。其值可以为 TRUEFALSE


参考:  

https://stackoverflow.com/questions/62259206/android-studio-4-0-new-class/62506705#62506705  

https://developer.android.com/studio/write/create-java-class#variables 

https://developer.android.com/studio/write/create-java-class#templates