Come iniziare una nuova attività con parametri su un Android

Ogni schermata in un’applicazione Android è rappresentata all’interno del codice come un’attività. Quando crei applicazioni Android, puoi creare una classe di attività per ogni schermata di cui hai bisogno. Se è necessario passare parametri di dati in queste attività quando vengono avviate, è possibile utilizzare i metodi “putExtra” e “getExtras” della classe intent. In questo modo puoi passare elementi di dati specifici tra le classi di attività nelle tue app Android, inclusi numeri e stringhe di testo. Questa è un’abilità utile per la maggior parte delle applicazioni Android.

1

Crea una nuova attività nel tuo progetto Android. In Eclipse, seleziona il tuo progetto e quindi scegli “File”, “Nuovo” e “Classe”. Immettere un nome per la classe e fare clic su “Fine”. Fai in modo che la tua classe estenda la classe di attività come nel seguente codice di esempio: public class DataActivity extends Activity {// class declaration here} La tua classe dovrà importare la classe di attività, quindi aggiungi la seguente riga all’inizio del file di classe se il tuo L’ambiente di sviluppo integrato, o IDE, non lo aggiunge automaticamente: import android.app.Activity ;.

2

Implementa il metodo “onCreate” per la tua nuova classe. Aggiungere la seguente struttura per il metodo che verrà eseguito quando viene creata un’istanza della classe: public void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); // istanzia l’attività} Questa è la struttura predefinita per una classe di attività. All’interno di questo metodo è possibile inserire il codice per recuperare i dati passati e creare qualsiasi elemento dell’interfaccia utente di cui si ha bisogno.

3

Crea un oggetto bundle nella tua nuova classe di attività. Nel metodo “onCreate”, aggiungi il seguente codice che dichiara e crea un’istanza di un oggetto della classe bundle: Bundle extras = getIntent (). GetExtras () ;. Questo richiama il metodo della classe intent per creare un bundle in modo da poter accedere a tutti i dati passati all’attività da qualsiasi altra parte dell’applicazione. Per proteggersi dagli errori, aggiungi la seguente struttura di un’istruzione condizionale: if (extras! = Null) {// get the passati dati} All’interno di questo blocco condizionale il tuo codice può recuperare i dati.

4

Recupera i parametri dei tuoi dati. All’interno del blocco condizionale, aggiungi il codice per recuperare gli elementi di dati passati utilizzando la seguente sintassi: String passText = extras.getString (this.getPackageName () + “.dataString”) ;. Ciò dimostra il recupero di un elemento stringa con “dataString” come riferimento. Il riferimento per l’articolo include anche il nome del pacchetto, per evitare confusione se i nomi delle variabili sono utilizzati da più di un’applicazione.

5

Crea un intento per lanciare la tua nuova attività. In un’altra classe di attività all’interno dell’applicazione, avviare l’attività utilizzando la seguente sintassi: Intent newIntent = new Intent (this, DataActivity.class); String someText = “ciao”; newIntent.putExtra (this.getPackageName () + “.dataString”, someText); this.startActivity (newIntent); Questo codice crea un nuovo intento, specificando il nome della classe della nuova attività. Il codice crea quindi una variabile stringa e la passa all’intento, assegnandole lo stesso nome della variabile specificata nel metodo “onCreate” dell’attività all’interno della chiamata al metodo “getString”. Infine il codice avvia il nuovo intento.