Tutorial programmazione Google Android: Activity, Intent, Layout
La programmazione Android coinvolge varie tecnologie, in particolare programmazione Java e codifica markup XML. Per iniziare a programmare applicazioni per la piattaforma Android, è necessario capire le basi del framework in termini di come gli elementi dell'app sono presentati agli utenti. Activity, Intent e Layout sono tra gli elementi chiave tipicamente coinvolti nei progetti Java iniziali. Il programma Eclipse fornisce strumenti per aiutare lo sviluppo Android.
Classe principale
Quando gli sviluppatori costruiscono progetti Android usando l'Eclipse Integrated Development Environment, che è l'IDE ufficiale per la piattaforma, Eclipse automatizza certe parti del processo. Ad esempio, quando si crea un nuovo progetto Android, crea automaticamente una classe principale, che è una classe Activity. Una classe Activity rappresenta un singolo schermo all'interno dell'app, contenente elementi visivi e controlli interfaccia utente. La classe Activity principale viene lanciata quando gli utenti eseguono l'app. Il seguente codice di esempio dimostra una tipica struttura di classe Activity principale:
public class MyApp extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}}
Activity
Gli sviluppatori possono creare un'Activity per ogni schermo in un'app. La struttura per ogni Activity è simile, estende la superclasse Activity e fornisce un metodo "onCreate". Dentro "onCreate", uno sviluppatore può implementare qualsiasi elaborazione che vuole avvenga quando l'Activity viene lanciata. Questo normalmente implica l'impostazione del layout dell'Activity:
setContentView(R.layout.help);
Questo istruisce Android a usare il layout XML contenuto in un file chiamato "help.xml" salvato dentro la cartella "res/layout" nel package dell'applicazione. Ogni Activity deve anche apparire nel file "AndroidManifest.xml" dell'app:
<activity android:name=".Help"></activity>
Questo riflette un file classe Java Activity chiamato "Help" per dimostrazione.
Intent
Quando uno sviluppatore crea file Activity in app Android, può creare istanze di quelle classi da altri punti all'interno del progetto. Ad esempio, se si vuole che un'Activity venga lanciata premendo un pulsante in un'altra Activity, si può aggiungere il codice dentro il file della classe Activity che lancia, specificando i dettagli dell'Activity da lanciare usando Intent:
startActivity(new Intent(this, Help.class));
Questo avvia l'Activity salvata come "Help" nel package dell'applicazione. Il metodo "startActivity" può apparire in qualsiasi altro file classe Activity. Ad esempio, si potrebbe voler lanciare un'Activity con informazioni utili sull'app da altri schermi al suo interno.
Layout
Ogni classe Activity in un'app Android può essere associata a un layout. Uno sviluppatore può definire layout in codice Java, ma le risorse ufficiali per Android raccomandano di definirli come file XML. Il package dell'applicazione per un'app Android ha una directory "res/layout", in cui uno sviluppatore può includere questi layout XML. Il codice XML può includere elementi interfaccia utente e visivi, nonché specifiche per come questi dovrebbero essere disposti l'uno rispetto all'altro:
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/sample"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Here is some text" />
</LinearLayout>
Questo layout di esempio ha un singolo elemento interfaccia utente che è un campo di testo.