05 Activity Iniziale

Aprite il file contenuto nella cartella java all’interno del package che non contiente “(androidTest)” nel nome.
5.1

Dovreste trovarvi di fronte al seguente codice:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

Innanzitutto notiamo accanto al nome della classe la dicitura “extends ActionBarActivity”. Può essere che voi, per qualche strano motivo, dopo extends abbiate un altro nome, ma sicuramente avrete la parola Activity. Questo vuol dire che la nostra classe è un estensione di una classe già esistente, possiamo quindi usare tutti i metodi di questa classe e, a nostra volta, aggiungerne degli altri.

Volevo soffermarmi un attimo sulla parola Activity.
Su Android possiamo dire che  l’activity rappresenta la classe attiva in quel momento, cioè la classe in cui gestiamo gli eventi che vengono generati dall’utente (come ad esempio la pressione di un tasto/button).
Posso creare altre classi java a supporto dell’activity, ma soltanto quest’ultima potrà interagire con gli elementi presenti nello schermo (bottoni, caselle di testo, ecc..).
Più avanti vedremo che sarà possibile generare più activity, passare da una all’altra, o generare delle sotto-activity chiamati fragment.

A questo punto avrete capito che il file.java di fronte al quale ci troviamo è la nostra prima activity creata di default insime al progetto e verrà fatta partire all’esecuzione del programma.
Andiamo a vedere adesso i metodi che troviamo all’inizio. Avranno la dicitura “@Override” sopra di essi: questo ci fa capire che sono metodi esistenti nella classe che stiamo estendendo (ActionBarActivity).
Se non avete modificato ancora niente dovreste trovare tre metodi:

  1. onCreate
  2. onCreateOptionMenu
  3. onOptionItemSelected

onCreateOptionMenu” e “onOptionItemSelected” sono due metodi con i quali gestiremo il pulsante <option> che si trova di solito a destra del pulsante home, quello che quando lo premete in alcuni giochi fa aprire una tendina dal basso verso l’alto. In realtà negli ultimi periodi non è più molto usato nelle app, si preferisce creare un proprio pulsante menù che mandi ad una schermata dedicata. In breve, il primo metodo crea il menù con le varie voci e il secondo metodo dice cosa accade quando premo ciascuna delle voci. Successivamente scriverò una guida dove spiegherò nei dettagli come usare questi due metodi.

onCreate“: è il metodo che per ora mi interessa illustrarvi. È l’alfa, l’inizio di ogni cosa all’interno della vostra applicazione e sarà il primo metodo che partirà quando la vostra app verrà aperta. Questi i principali comandi che vengono eseguiti all’interno del metodo:

  • super.onCreate(…) non ci interessa sapere cosa fa (anche perché di preciso non lo so neanch’io), basti sapere che richiama il metodo onCreate della classe ActionBarActivity che si occupa di settare per noi l’Activity.
  • setContentView(R.layout.activity_main) invece è un metodo che ci interessa ed useremo spesso, quindi tenetevelo bene in mente. Così come suggerisce una traduzione letterale del metodo, andiamo a settare il contenuto della nostra view, cioè quello che vediamo nello schermo. R.layout.activity_menu rappresenta un file xml con la grafica che vedremo; in particolare R rappresenta la cartella “res”, “layout” l’omonima cartella contenuta all’interno di res e activity_menu rappresenta il nome di questo nostro file xml. Creando più file xml e usando questo metodo potremo creare e cambiare pagina nella nostra app.

Vi state chiedendo cos’è un file xml e come si crea? Leggete la prossima guida!
Spero di essere stato il più chiaro possibile ma se avete qualche dubbio scrivetemi nei commenti e vi risponderò.

Please follow and like us: