Con la finestra di dialogo Crea nuova classe 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
- Tipi di interfaccia e annotazione
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
il codice di base, inclusa una dichiarazione del pacchetto, eventuali importazioni necessarie, un'intestazione
e una dichiarazione di classe o tipo. Successivamente, puoi aggiungere il tuo codice a questo file.
I modelli di file specificano come Android Studio genera il codice di base. Puoi utilizzare i modelli di file forniti con Android Studio così come sono o personalizzarli in base al tuo processo di sviluppo.
Visualizzare e personalizzare i modelli di file
Android Studio fornisce modelli di file che determinano come vengono create nuove classi e nuovi tipi Java con la finestra di dialogo Crea nuova classe. Puoi personalizzare questi modelli.
Figura 1. La finestra di dialogo Crea nuovo corso.
I modelli di file di Android Studio includono codice e variabili VTL (Velocity Template Language) 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, segui questi passaggi:
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 > File e modelli di codice > File.
Nell'elenco dei modelli, i nomi dei modelli interni sono in grassetto. I nomi dei modelli personalizzati vengono visualizzati in un colore di evidenziazione, ad esempio il 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 ulteriori informazioni sui modelli di file, incluso VTL, consulta Modelli di file e codice e Finestra di dialogo Modelli di file e codice.
Creazione di una classe o di un tipo Java
Android Studio ti aiuta a creare nuove classi Java, classi di enumerazione e singleton e tipi di interfacce e annotazioni in base ai 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 della nuova classe o del nuovo tipo. Deve rispettare i requisiti per i nomi Java. Non digitare un'estensione del nome file.
- Tipo: seleziona la categoria di corso o 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 completarlo automaticamente.
- Interfaccia/e: una o più interfacce implementate dalla nuova classe o tipo. Più interfacce devono essere separate da una virgola seguita da uno spazio facoltativo. Puoi digitare il nome del pacchetto e dell'interfaccia o solo il nome dell'interfaccia e poi 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 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 fai
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 verranno inseriti in un pacchetto nel progetto. - Visibilità: seleziona se la classe o il tipo è visibile a tutte le classi o solo a quelle del proprio pacchetto.
- Modificatori: seleziona il modificatore Abstract o Final per un Corso o nessuno dei due.
- Mostra finestra di dialogo Seleziona override: per un Tipo di Classe, seleziona questa opzione per aprire la finestra di dialogo Seleziona metodi per eseguire l'override/l'implementazione dopo aver fatto clic su Ok. In questa finestra di dialogo, puoi selezionare i metodi che vuoi 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 oppure fai clic in un file Java nell'editor di codice. Quindi seleziona File > Nuovo > Classe Java.
L'elemento selezionato determina il pacchetto predefinito per il nuovo corso o tipo.
Il completamento automatico funziona solo per il primo nome dell'interfaccia. Tieni presente che la virgola e il nome dell'interfaccia successivo possono generare un errore della descrizione comando, ma 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 per prima cosa un file o una cartella Java nella finestra Progetto, il valore predefinito è il pacchetto per l'elemento selezionato. Se hai fatto clic per la prima volta in un file Java nell'editor di codice, il valore predefinito è il pacchetto che contiene questo file.
I campi che non si applicano al Tipo sono nascosti.
Android Studio crea un file Java con codice scheletrico 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; quest'ultima 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 ha le seguenti variabili che puoi utilizzare:
IMPORT_BLOCK
: un elenco delimitato da interruzioni di riga di istruzioni Javaimport
necessarie per supportare qualsiasi superclasse o interfacce 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 estendi la classeActivity
, sarà"import android.app.Activity;\nimportjava.lang.Runnable;\n"
.VISIBILITY
- Indica se il corso avrà accesso pubblico o meno. Può avere un valore diPUBLIC
oPACKAGE_PRIVATE
.SUPERCLASS
- Un singolo nome del corso o vuoto. Se presente, dopo il nuovo nome della classe sarà presente una clausolaextends ${SUPERCLASS}
.INTERFACES
- Un elenco separato da virgole di interfacce o vuoto. Se presente, ci sarà 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 valore diTRUE
oFALSE
.FINAL
: indica se la classe deve essere finale o meno. Può avere un valore diTRUE
oFALSE
.