Android

Android è un sistema operativo sviluppato da Google, progettato principalmente per dispositivi mobili come smartphone e tablet. È basato su una versione modificata del kernel Linux ed è open source, il che significa che il suo codice sorgente è disponibile per chiunque voglia studiarlo, modificarlo e distribuirlo

Android Vs iOS

Aspetto Android iOS
Software Android Studio Xcode
Linguaggio di programmazione Java Swift
Estensione del file .apk .ipa
Ciclo di distribuzione Google Play Store App store di Apple

Che cos’è una "Activity"?

Una "Activity" è un componente di una applicazione che rappresenta una singola schermata di interfaccia per l’utente.
Ogni schermata dell'applicazione è gestita da una Activity. Le Activities sono fondamentali per la navigazione e l'interazione dell'utente con una app Android.
Ogni Activity ha il proprio ciclo di vita, che comprende eventi come la creazione, la distruzione, la pausa e la ripresa, che consentono all'applicazione di rispondere dinamicamente a determinati input dell'utente e ad altre situazioni, come per esempio il cambio di orientamento del dispositivo.

Il ciclo di vita di una Activity

Il ciclo di vita di una Activity comprende una serie di stati attraversati durante il suo ciclo di vita.
Questi stati includono:

  • Creazione - metodo onCreate()
    Questo metodo viene chiamato quando una Activity viene avviata per la 1° volta. Qui vengono inizializzati gli elementi dell'interfaccia utente e vengono effettuate le operazioni di inizializzazione
  • Avvio - metodo onStart()
    Dopo il metodo onCreate(), l'Activity passa allo stato di avvio, dove diventa visibile all'utente, ma non è ancora in primo piano. Durante questo stato viene richiamato il metodo onStart()
  • Resuming - metodo onResume()
    Quando l'Activity viene resa visibile e viene portata in primo piano, passa allo stato di "Resuming". Durante questo stato, l'Activity è attiva e pronta per l'interazione dell'utente
  • Pausa - metodo onPause()
    Quando un'altra Activity viene avviata l'Activity corrente perde il focus passando allo stato di "Pausa". In questo stato, l'Activity è ancora visibile, ma non si trova più in primo piano
  • Sospensione - metodo onStop()
    Quando una Activity non è più visibile all'utente, entra nello stato di "Sospensione". Questo accade quando un'altra Activity prende il suo posto o quando l'utente esce dall'applicazione. Durante questo stato, vengono liberate risorse non essenziali.
  • Distruzione - metodo onDestroy()
    Quando una Activity viene terminata o distrutta dal sistema operativo, passa allo stato di "Distruzione". Questo accade quando l'utente chiude l'applicazione o quando il sistema operativo libera risorse dalle applicazioni che si trovano nello stato di sospensione.

    4 Tipi di listener

    1 - Direttamente sul pulsante

    Posso impostare un listener direttamente sul pulsante nel codice Java utilizzando il metodo setOnClickListener(). Ad esempio, all'interno del metodo onCreate() di una Activity

    						
    Button myButton = findViewById(R.id.my_button);
    myButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Qui gestisco l'evento del click
        }
    });                     
    						
    					

    2 - Nel file .xml dei componenti

    Posso impostare un onClick listener direttamente nel file XML del layout semplicemente aggiungendo l'attributo “android:onClick” al pulsante, specificando il nome del metodo che gestirà l'evento

    						
    <Button
    android:id="@+id/my_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click Me"
    android:onClick="myButtonClickHandler" />      
    						
    					

    3 - Istanziando un metodo

    Posso impostare un onClick listener richiamando un metodo direttamente all'interno del codice Java. In questo caso, il metodo è definito nella stessa classe dell'Activity che contiene il pulsante

    						
    Button myButton = findViewById(R.id.my_button);
    myButton.setOnClickListener(this::myButtonClickHandler);
    						
    					

    4 - Implementando OnClickListener nell'Activity

    Infine, come 4° modo posso implementare l'interfaccia direttamente nella classe Activity e gestire l'evento direttamente all'interno di essa

    						
    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button myButton = findViewById(R.id.my_button);
            myButton.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            //Qui gestisco l'evento del click
        }
    }                       
    						
    					

    Il comando "Intent"

    Il comando "Intent" in Android è un meccanismo fondamentale per consentire alle diverse componenti dell'applicazione di comunicare e interagire tra loro e con altre applicazioni sul dispositivo.

    Gli Intent possono essere utilizzati per:
  • Avviare un'altra Activity (interna alla stessa app o anche esterna)
  • Passare dei dati tra 2 Activity (inseriti nell'Intent come extra)
  • Avviare servizi (utilizzato per operazioni lunghe e asincrone)
  • Eseguire operazioni di broadcast (inviare e ricevere messaggi di broadcast)
  • Avviare un'applicazione esterna: (es un’attività di composizione per inviare mail)

    Gli Intent possono essere:
  • Espliciti --> richiamo una determinata Activity
  • Impliciti --> faccio una richiesta broadcast (es. per il gestore delle telefonate)
  • StartActivity e StartAcitivtyForResult

    startActivity
  • Fa partire la 2° Activity e non si preoccupa di essa
  • Usato per avviare un'altra attività che visualizza solo informazioni o esegue un'azione senza restituire dati all'attività chiamante

    startActivityForResult
  • Si preoccupa di analizzare il risultato
  • Viene utilizzato quando l'attività avviata deve restituire dati all'attività chiamante (per esempio il risultato di input dell'utente)
  • android.com   wikipedia   html.it