ProgettAzione tecnologie in movimento

ProgettAzione tecnologie in movimento - V anno
Unità 4 - Applicazioni per i sistemi mobili
Compito in classe proposto
Partendo dall’App appena realizzata sul volume di riferimento, modificarla affinché,
cliccando sul numero 4, anziché tornare alla prima schermata, si apra una nuova
schermata (terza activity) composta da elementi grafici a piacere.
Unità 4 - Realizzare applicazioni per la comunicazione in rete
Soluzione compito in classe proposto
Per realizzare quanto richiesto dovremo modificare innanzitutto il file NewActivity.java poiché è il
comportamento della ImageView del numero 4 che va modificato (resta invece invariato il file
MainActivity. java).
Vediamo il codice originale di NewActivity.java con evidenziata in giallo la parte da modificare:
NewActivity.java
public class NewActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new);
ImageView tre_view=(ImageView)findViewById(R.id.imageView1);
tre_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast t=Toast.makeText(NewActivity.this,"NON HAI CAMBIATO
SCHERMATA (ACTIVITY)",Toast.LENGTH_LONG);
t.show();
}
});
ImageView quattro_view=(ImageView)findViewById(R.id.imageView2);
quattro_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(NewActivity.this,MainActivity.class));
}
});
}
}
© Mondadori Education
ProgettAzione tecnologie in movimento - V anno
Soluzione compito in classe proposto
Basterà sostituire MainActivity.class con TerzaActivity.class, per far sì che, cliccando sul numero
4, anziché tornare alla prima schermata, si apra una nuova schermata (terza activity):
startActivity(new Intent(NewActivity.this,MainActivity.class));
Creiamo ora la TerzaActivity: dal Package Explorer clicchiamo col tasto destro del mouse su
New→Class e inseriamo come nome TerzaActivity.java, salvando questo nuovo file nella cartella
src/com.nuova.newapp cioè la stessa che già contiene MainActivity.java e NewActivity.java.
Poiché l’esercizio richiede solo la presenza di elementi grafici passivi, senza specifiche attività legate
ad essi, il codice dentro TerzaActivity.java si riduce al seguente:
TerzaActivity.java
package com.nuova.newapp;
import android.app.Activity;
import android.os.Bundle;
public class TerzaActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ter);
}
}
Il codice evidenziato in giallo serve a creare una corrispondenza fra le immagini del layout descritto
in activity_ter.xml e il codice Java.
A questo punto creiamo il layout di questa nuova activity: sempre con il tasto destro del mouse sul
Package Explorer, clicchiamo su New Other/Android/Android XML File e sotto la cartella layout
(cioè la stessa che già contiene il file activity_main.xml e activity_new.xml) creiamo il file
activity_ter.xml.
Tramite l’interfaccia grafica drag&drop trasciniamo una nuova TextView (sotto la voce Form
Widget) sull’anteprima e vi scriviamo la stringa “TERZA SCHERMATA (NEW ACTIVITY)”.
© Mondadori Education
ProgettAzione tecnologie in movimento - V anno
Unità 4 - Realizzare applicazioni per la comunicazione in rete
Allo stesso modo trasciniamo, a piacere, delle ImageView (sempre sotto la voce Images & Media)
sull’anteprima. Nella schermata che compare selezioniamo le immagini desiderate.
Alla fine delle operazioni l’interfaccia della terza schermata potrebbe essere simile a quella mostrata
nella figura 1.
Figura 1 - Graphical Layout di activity_ter.xml
Abbiamo quasi finito, resta solo da dichiarare la nuova activity nel file AndroidManifest.xml
selezionabile dal Package Explorer, uno degli ultimi file in basso.
Il codice evidenziato in giallo serve a inserire la nuova activity (TerzaActivity) nell’applicazione
autorizzandola a essere eseguita e a interagire con le altra activity.
AndroidManifest.xml
<activity
android:name="com.nuova.newapp.NewActivity" >
</activity>
<activity
android:name="com.nuova.newapp.TerzaActivity">
</activity>
© Mondadori Education
ProgettAzione tecnologie in movimento - V anno
Soluzione compito in classe proposto
Mandiamo in esecuzione l’App sul dispositivo virtuale selezionando Run Run As Android
Application. Il risultato sarà la visualizzazione della schermata (main activity - figura 2) principale
sull’emulatore. Cliccando sul 2 apparirà la seconda schermata (new activity - figura 3). Da essa,
cliccando sul 4, si passerà alla terza schermata (terza activity - figura 4) oggetto di questo compito.
Figura 2 main activity
© Mondadori Education
Figura 3 new activity
ProgettAzione tecnologie in movimento - V anno
Figura 4 terza activity