Sobes.tech
Junior

Enumerați marcatorii și interfețele în dezvoltarea Android.

sobes.tech AI

Răspuns de la AI

Interfețele Marker (Marker Interfaces) în Android sunt interfețe fără metode, utilizate pentru a marca o clasă, oferind compilatorului sau mediului de execuție informații despre tipul obiectului.

Exemple:

  • Serializable: Indică faptul că un obiect poate fi serializat (salvat într-un flux de octeți) pentru deserializare ulterioară. Folosit pentru transferul de date între componente, salvarea stării.
  • Parcelable: O versiune mai eficientă pentru Android a Serializable. Permite împachetarea obiectelor în Parcel pentru transfer rapid. Necesită implementarea metodelor writeToParcel și crearea unui CREATOR. Folosit pentru transferul de date între Activity, Service, BroadcastReceiver.
  • Cloneable: Indică faptul că un obiect poate fi clonat cu metoda Object.clone().

Interfețele în Android sunt folosite pentru a defini contracte, asigurarea polimorfismului și callback-uri.

Exemple:

  • Listeners (ascultători de evenimente):
    // Exemplu de listener de clic
    View.OnClickListener
    
  • Callbacks (retururi de apel):
    // Exemplu de callback pentru rezultatul unei cereri
    retrofit2.Callback
    
  • Adapters (adaptori):
    // Exemplu de adaptor pentru listă
    androidx.recyclerview.widget.RecyclerView.Adapter
    
  • Lifecycle Observers (observatori ai ciclului de viață):
    // Exemplu de observator al ciclului de viață
    androidx.lifecycle.LifecycleObserver
    
  • Runnable: Este utilizat pentru a defini codul care se execută într-un fir de execuție separat.
    java.lang.Runnable
    
  • Comparable/Comparator: Pentru a defini ordinea de sortare a obiectelor.
    java.lang.Comparable
    java.util.Comparator
    
  • ServiceConnection: Pentru a interacționa cu un serviciu atașat.
    android.content.ServiceConnection
    
  • Binder: Clasa de bază pentru implementarea apelurilor de procedură la distanță (IPC).
    android.os.Binder