Con la finestra di dialogo Crea nuovo corso e i modelli di file, Android Studio ti aiuta a creare rapidamente i seguenti nuovi tipi e classi:
- Classi Java
- Classi di enumerazione e singleton
- Interfaccia e tipi di annotazioni
Dopo aver compilato i campi della finestra di dialogo Crea nuovo corso e aver fatto clic su Ok, Android Studio crea un file .java
contenente codice di base, tra cui un'istruzione del pacchetto, eventuali importazioni necessarie, un'intestazione e una dichiarazione di classe o tipo. Successivamente, puoi aggiungere il codice a questo file.
I modelli di file specificano in che modo Android Studio genera il codice scheletro. Puoi utilizzare i modelli di file forniti con Android Studio così come sono o personalizzarli in base al tuo processo di sviluppo.
Visualizzazione e personalizzazione dei modelli di file
Android Studio fornisce modelli di file che determinano come vengono creati nuovi tipi e classi Java con la finestra di dialogo Crea nuovo corso. Puoi personalizzare questi modelli.
I modelli di file di Android Studio includono codice e variabili in Velocity Template Language (VTL) che gestiscono queste opzioni aggiuntive. La finestra di dialogo Crea nuova classe utilizza i modelli di file AnnotationType, Class, Enum, Interface e Singleton.
Per visualizzare i modelli, trovare le personalizzazioni e modificarli:
Effettua una delle seguenti operazioni:
- Per Windows o Linux, seleziona File > Impostazioni > Editor > Modelli di file e codice > File.
- Per macOS, seleziona Android Studio > Preferenze > Editor > Modelli di file e codice > File.
Nell'elenco dei modelli, i nomi dei modelli interni sono in grassetto. I nomi dei modelli personalizzati vengono visualizzati in un colore evidenziato, ad esempio blu.
Personalizza i modelli di file in base alle tue esigenze.
Se vuoi utilizzare i campi della finestra di dialogo Crea nuova classe, assicurati che le modifiche siano conformi al codice del modello di file di Android Studio.
Per saperne di più sui modelli di file, incluso VTL, consulta Modelli di file e di codice e Finestra di dialogo Modelli di file e di codice.
Creazione di un tipo o di una classe Java
Android Studio ti aiuta a creare nuove classi Java, classi di enumerazione e singleton, nonché tipi di interfaccia e annotazione in base a modelli di file.
Per creare una nuova classe o un nuovo tipo Java:
- Nella finestra Progetto, fai clic con il tasto destro del mouse su un file o una cartella Java e seleziona Nuovo > Classe Java.
- Nella finestra di dialogo Crea nuovo corso, compila i campi:
- Nome: il nome del nuovo tipo o della nuova classe. Deve essere conforme ai requisiti per i nomi Java. Non digitare un'estensione del nome del file.
- Tipo: seleziona la categoria del corso o del tipo.
- Superclasse: la classe da cui eredita la nuova classe. Puoi digitare il nome del pacchetto e della classe o solo il nome della classe, quindi fare doppio clic su un elemento nell'elenco a discesa per il completamento automatico.
- Interfacce: una o più interfacce implementate dalla nuova classe o dal nuovo tipo. Più interfacce devono essere separate da una virgola seguita da uno spazio facoltativo. Puoi digitare il nome del pacchetto e dell'interfaccia oppure solo il nome dell'interfaccia, quindi fare doppio clic su un elemento nell'elenco a discesa per completarlo automaticamente.
- Pacchetto: il pacchetto in cui risiederà la classe o il tipo. Il valore predefinito viene visualizzato automaticamente nel campo. Se digiti un nome del pacchetto nel campo, le parti dell'identificatore del pacchetto che non esistono vengono evidenziate in rosso. In questo caso, Android Studio crea il pacchetto dopo che hai fatto clic su OK. Questo campo deve contenere un valore; in caso contrario, il file Java non conterrà un'istruzione
package
e la classe o il tipo non verrà inserito in un pacchetto del progetto. - Visibilità: seleziona se la classe o il tipo è visibile a tutti i corsi o solo a quelli del proprio pacchetto.
- Modificatori: seleziona il modificatore Astratto o Finale per una Classe oppure nessuno dei due.
- Mostra finestra di dialogo Seleziona sostituzioni: per un tipo di classe, seleziona questa opzione per aprire la finestra di dialogo Seleziona metodi da sostituire/implementare dopo aver fatto clic su OK. In questa finestra di dialogo, puoi selezionare i metodi da sostituire o implementare e Android Studio genererà il codice di base per questi metodi.
- Fai clic su OK.
In alternativa, seleziona un file o una cartella Java nella finestra Progetto o fai clic su un file Java nell'editor di codice. Quindi, seleziona File > Nuovo > Classe Java.
L'elemento selezionato determina il pacchetto predefinito per il nuovo tipo o la nuova classe.
Il completamento automatico funziona solo per il primo nome dell'interfaccia. Tieni presente che anche se la virgola e il nome dell'interfaccia seguente possono generare un errore nella descrizione comando, puoi ignorarlo perché non influisce sul codice generato.
L'impostazione predefinita dipende dal modo in cui hai avviato la finestra di dialogo Crea nuovo corso. Se hai selezionato inizialmente un file o una cartella Java nella finestra Progetto, il valore predefinito è il package per l'elemento selezionato. Se hai fatto clic per la prima volta su un file Java nell'editor di codice, il valore predefinito è il pacchetto che contiene questo file.
Tutti i campi che non si applicano a Tipo sono nascosti.
Android Studio crea un file Java con codice scheletro che puoi modificare. Il file si apre nell'editor di codice.
Nota:puoi creare una classe singleton selezionando File > Nuovo > Singleton o File > Nuovo > Classe Java. La seconda tecnica offre più opzioni.
Modelli di file di Android Studio
Questa sezione elenca il codice del modello di file di Android Studio scritto nel linguaggio di scripting VTL, seguito dalle definizioni delle variabili. I valori che fornisci nella
finestra di dialogo Crea nuovo corso diventano i valori delle variabili nel modello.
Tieni presente che le righe che iniziano con #if (${VISIBILITY}
si estendono fino alla parentesi graffa aperta ({
).
Modello di file AnnotationType
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK} #end #parse("File Header.java") #if (${VISIBILITY} == "PUBLIC")public #end @interface ${NAME} #if (${INTERFACES} != "")extends ${INTERFACES} #end { }
Modello di file del corso
#if (${PACKAGE_NAME} != "")package ${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} != "")implements ${INTERFACES} #end { }
Modello di file Enum
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK} #end #parse("File Header.java") #if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end { }
Modello di file di interfaccia
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK} #end #parse("File Header.java") #if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end { #end { }
Modello di file singleton
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK} #end #parse("File Header.java") #if (${VISIBILITY} == "PUBLIC")public #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end { private static final ${NAME} ourInstance = new ${NAME}(); #if (${VISIBILITY} == "PUBLIC")public #end static ${NAME} getInstance() { return ourInstance; } private ${NAME}() { } }
Variabili del modello di file
Android Studio sostituisce le variabili del modello di file con i valori nel file Java generato. Inserisci i valori nella finestra di dialogo Crea nuovo corso. Il modello contiene le seguenti variabili che puoi utilizzare:
IMPORT_BLOCK
: un elenco delimitato da riga nuova di istruzioni Javaimport
necessarie per supportare qualsiasi superclasse o interface oppure una stringa vuota (""
). Ad esempio, se implementi solo l'interfacciaRunnable
e non estendi nulla, questa variabile sarà"import java.lang.Runnable;\n"
. Se implementi l'interfacciaRunnable
ed espandi la classeActivity
, il risultato sarà"import android.app.Activity;\nimportjava.lang.Runnable;\n"
.VISIBILITY
- Indica se il corso avrà accesso pubblico o meno. Può avere un valorePUBLIC
oPACKAGE_PRIVATE
.SUPERCLASS
: un singolo nome di classe o vuoto. Se presente, dopo il nuovo nome della classe sarà presente una clausolaextends ${SUPERCLASS}
.INTERFACES
: un elenco di interfacce separate da virgole o vuoto. Se presente, verrà visualizzata una clausolaimplements ${INTERFACES}
dopo la superclasse o dopo il nome della classe se non è presente una superclasse. Per le interfacce e i tipi di annotazione, le interfacce hanno la parola chiaveextends
.ABSTRACT
: indica se la classe deve essere astratta o meno. Può avere un valoreTRUE
oFALSE
.FINAL
: indica se il corso deve essere finale o meno. Può avere un valore diTRUE
oFALSE
.