通过“ 创建新类”对话框和文件模板,Android Studio可帮助您快速创建以下新类和类型:
Java类
枚举和单例类
接口和注释类型
填写“ 创建新类”对话框并单击“ 确定”后,Android Studio将创建一个.java包含框架代码的文件,包括包语句,任何必要的导入,标题以及类或类型声明。接下来,您可以将代码添加到此文件中。
文件模板指定Android Studio如何生成框架代码。您可以按原样使用Android Studio提供的文件模板,也可以自定义它们以适合您的开发过程。
Android Studio对话框和模板现在与IntelliJ IDEA版本不同。如果您在2.2版之前的Android Studio中自定义文件模板,则需要修改模板以符合Android Studio要求(如果要使用对话框中的其他字段)。
查看和自定义文件模板
Android Studio提供了文件模板,用于确定如何使用“ 创建新类”对话框创建新的Java类和类型。您可以自定义这些模板。
Android Studio 2.1中提供的对话框。x或更低的 名称和种类字段。Android Studio 2.2及更高版本中提供的对话框有更多选项,包括 超类,接口, 包,可见性, 修饰符和显示选择覆盖对话框,如图1所示。
图1。 Android Studio 2.2或更高版本中的“ 创建新类”对话框。
Android Studio文件模板包括Velocity Template Language(VTL)代码和处理这些附加选项的变量。“ 创建新类”对话框使用AnnotationType, Class, Enum,Interface和Singleton 文件模板。
如果尚未自定义“ 创建新类”对话框使用的文件模板,则在安装2.2版或更高版本时,Android Studio会自动更新模板。
如果在Android Studio 2.2之前,您确实自定义了“ 创建新类”对话框使用的文件模板,则需要修改模板,如果要使用新的对话框选项,如下所述。
要查看模板,查找自定义项和修改模板,请按照下列步骤操作:
在“ 项目”窗口中,选择Java文件或文件夹,然后选择“ 文件” >“ 新建” >“ 编辑文件模板”。
或者,对于Windows或Linux,选择“ 文件” > “设置” >“ 编辑器” >“ 文件和代码模板” >“ 文件”。对于Mac,请选择Android Studio > 首选项 > 编辑器 > 文件和代码模板 > 文件。
将出现“ 文件和代码模板”对话框或“ 首选项”或 “设置”对话框。在模板列表中,内部模板名称以粗体显示。自定义模板名称以高亮颜色显示,例如蓝色。
根据需要自定义文件模板。
如果要使用“ 创建新类”对话框字段,请确保您的更改符合 Android Studio文件模板代码。如果您在Android Studio 2.2之前自定义了任何文件模板,并且它们被“ 创建新类”对话框使用,则需要更新模板(如果要使用其他对话框选项)。将您的模板与Android Studio文件模板代码进行比较,然后集成适用于该对话框的Android Studio模板部分。
有关文件模板(包括VTL)的详细信息,请参阅文件和代码模板以及文件和代码模板对话框。
创建Java类或类型
Android Studio可帮助您创建新的Java类; 枚举和单例类; 以及基于文件模板的界面和注释类型。
要创建新的Java类或类型,请按照下列步骤操作:
在“ 项目”窗口中,右键单击Java文件或文件夹,然后选择“ 新建” >“ Java类”。
或者,在“ 项目” 窗口中选择Java文件或文件夹,或在代码编辑器中单击Java文件。然后选择 File > New > Java Class。
您选择的项目确定新类或类型的默认包。
在“ 创建新类”对话框中,填写以下字段:
名称 - 新类或类型的名称。它必须符合Java名称要求。不要键入文件扩展名。
种类 - 选择类或类型的类别。
超类 - 新类继承的类。您可以键入包和类名,或只键入类名,然后双击下拉列表中的项以自动完成它。
接口 - 新类或类型实现的一个或多个接口。多个接口应该用逗号分隔,后跟可选空格。您可以键入包和接口名称,或只键入接口名称,然后双击下拉列表中的项目以自动完成它。
自动完成仅适用于第一个接口名称。请注意,虽然逗号和以下接口名称可能会出现工具提示错误,但您可以忽略该错误,因为它不会影响生成的代码。
包 - 类或类型所在的包。默认值自动显示在字段中。如果在字段中键入包名称,则包标识符中不存在的任何部分将以红色突出显示; 在这种情况下,Android Studio会在您单击“ 确定”后创建该程序包。该字段必须包含值; 否则,Java文件将不包含package语句,并且类或类型不会放在项目的包中。
默认值取决于您启动“ 创建新类”对话框的方式。如果您首先在“ 项目”窗口中选择了Java文件或文件夹,则默认为您选择的项目的包。如果首先在代码编辑器中单击Java文件,则默认为包含此文件的包。
可见性 - 选择类或类型对所有类是可见的,还是仅对其自己的包中的类可见。
修饰符 - 为类选择“ 抽象”或“ 最终”修改器,或两者都不选。
展会选择覆盖对话框 -对于一个类 的类,选中此选项打开选择的方法来覆盖/实现对话框中单击后确定。在此对话框中,您可以选择要覆盖或实现的方法,Android Studio将为这些方法生成框架代码。
隐藏 任何不适用于该种类的字段。
单击确定。
Android Studio使用您可以修改的框架代码创建Java文件。它在代码编辑器中打开文件。
注意:您可以通过选择File > New > Singleton或 File > New > Java Class来创建单例类 ; 后一种技术提供了更多选择。
Android Studio文件模板
本节列出了用VTL脚本语言编写的Android Studio文件模板代码,后面是变量的定义。您在“ 创建新类”对话框中提供的值将 成为模板中的变量值。请注意,以开头的行一直 #if (${VISIBILITY}延伸到open brace( {)。
AnnotationType文件模板
#if($ {PACKAGE_NAME}!=“”)包$ {PACKAGE_NAME};#end
#if($ {IMPORT_BLOCK}!=“”)$ {IMPORT_BLOCK}
#end
#parse(“File Header.java”)
#if ($ {VISIBILITY} ==“PUBLIC”)public #end @interface $ {NAME} #if($ {INTERFACES}!=“”)扩展$ {INTERFACES} #end {
}
类文件模板
#if($ {PACKAGE_NAME}!=“”)包$ {PACKAGE_NAME};#end
#if($ {IMPORT_BLOCK}!=“”)$ {IMPORT_BLOCK}
#end
#parse(“File Header.java”)
#if ($ {VISIBILITY} ==“PUBLIC”)public #end #if($ {ABSTRACT} ==“TRUE”)abstract #end #if($ {FINAL} ==“TRUE”)final #end class $ {NAME } #if($ {SUPERCLASS}!=“”)extends $ {SUPERCLASS} #end #if($ {INTERFACES}!=“”)实现$ {INTERFACES} #end {
}
枚举文件模板
#if($ {PACKAGE_NAME}!=“”)包$ {PACKAGE_NAME};#end
#if($ {IMPORT_BLOCK}!=“”)$ {IMPORT_BLOCK}
#end
#parse(“File Header.java”)
#if ($ {VISIBILITY} ==“PUBLIC”)public #end enum $ {NAME} #if($ {INTERFACES}!=“”)实现$ {INTERFACES} #end {
}
接口文件模板
#if($ {PACKAGE_NAME}!=“”)包$ {PACKAGE_NAME};#end
#if($ {IMPORT_BLOCK}!=“”)$ {IMPORT_BLOCK}
#end
#parse(“File Header.java”)
#if ($ {VISIBILITY} ==“PUBLIC”)public #end enum $ {NAME} #if($ {INTERFACES}!=“”)实现$ {INTERFACES} #end {
#end {
}
单例文件模板
#if($ {PACKAGE_NAME}!=“”)包$ {PACKAGE_NAME};#end
#if($ {IMPORT_BLOCK}!=“”)$ {IMPORT_BLOCK}
#end
#parse(“File Header.java”)
#if ($ {VISIBILITY} ==“PUBLIC”)public #end class $ {NAME} #if($ {SUPERCLASS}!=“”)扩展$ {SUPERCLASS} #end #if($ {INTERFACES}!=“”)实现$ {INTERFACES} #end {
private static final $ {NAME} ourInstance = new $ {NAME}();
#if($ {VISIBILITY} ==“PUBLIC”)public #end static $ {NAME} getInstance(){
return ourInstance;
}
private $ {NAME}(){
}
}
文件模板变量
Android Studio使用生成的Java文件中的值替换文件模板变量。在“ 创建新类”对话框中输入值。该模板具有以下可以使用的变量:
IMPORT_BLOCK- import支持任何超类或接口或空字符串("")所需的新行分隔的Java 语句列表 。例如,如果只实现Runnable接口并且什么都不扩展,那么这个变量就是"import java.lang.Runnable;\n"。如果您实现 Runnable接口并扩展Activity类,它将是 “import android.app.Activity;\nimportjava.lang.Runnable;\n”。
VISIBILITY - 班级是否有公共访问权限。它的值可以是PUBLIC或PACKAGE_PRIVATE。
SUPERCLASS - 单个类名,或为空。如果存在,则extends ${SUPERCLASS}在新类名后面会有一个子句。
INTERFACES - 以逗号分隔的接口列表,或为空。如果存在,则implements ${INTERFACES}在超类之后会有一个子句,如果没有超类,则会在类名之后。对于接口和注释类型,接口具有extends关键字。
ABSTRACT - 班级是否应该是抽象的。它的值可以是TRUE或FALSE。
FINAL - 班级是否应该是最终的。它的值可以是TRUE或FALSE。