Sobes.tech
Junior

Elenca i marker e le interfacce nello sviluppo Android.

sobes.tech AI

Risposta dell'AI

Le interfacce Marker (Marker Interfaces) in Android sono interfacce senza metodi, utilizzate per contrassegnare una classe, fornendo al compilatore o all'ambiente di esecuzione informazioni sul tipo dell'oggetto.

Esempi:

  • Serializable: Indica che un oggetto può essere serializzato (salvato in un flusso di byte) per una successiva deserializzazione. Usato per trasferire dati tra componenti, salvare lo stato.
  • Parcelable: Versione più efficiente di Serializable per Android. Permette di "impacchettare" gli oggetti in Parcel per un trasferimento rapido. Richiede l'implementazione dei metodi writeToParcel e la creazione di un CREATOR. Usato per trasferire dati tra Activity, Service, BroadcastReceiver.
  • Cloneable: Indica che un oggetto può essere clonata tramite il metodo Object.clone().

Le interfacce in Android sono usate per definire contratti, garantire il polimorfismo e i callback.

Esempi:

  • Listeners (ascoltatori di eventi):
    // Esempio di listener di clic
    View.OnClickListener
    
  • Callbacks (ritorni di chiamata):
    // Esempio di callback per risultato di richiesta
    retrofit2.Callback
    
  • Adapters (adattatori):
    // Esempio di adattatore per lista
    androidx.recyclerview.widget.RecyclerView.Adapter
    
  • Lifecycle Observers (osservatori del ciclo di vita):
    // Esempio di osservatore del ciclo di vita
    androidx.lifecycle.LifecycleObserver
    
  • Runnable: Usato per definire il codice che viene eseguito in un thread separato.
    java.lang.Runnable
    
  • Comparable/Comparator: Per definire l'ordine di ordinamento degli oggetti.
    java.lang.Comparable
    java.util.Comparator
    
  • ServiceConnection: Per interagire con un servizio collegato.
    android.content.ServiceConnection
    
  • Binder: Classe base per implementare chiamate di procedura remota (IPC).
    android.os.Binder