Sobes.tech
Junior

Uveďte značky a rozhrania v Android vývoji.

sobes.tech AI

Odpoveď od AI

Markerové rozhrania (Marker Interfaces) v Android sú rozhrania bez metód, ktoré sa používajú na označenie triedy, poskytujúc kompilátoru alebo prostrediu na spúšťanie informácie o type objektu.

Príklady:

  • Serializable: Uvádza, že objekt môže byť serializovaný (uložený do toku bajtov) pre neskoršiu deserializáciu. Používa sa na prenos dát medzi komponentmi, uloženie stavu.
  • Parcelable: Efektívnejšia verzia pre Android od Serializable. Umožňuje "balenie" objektov do Parcel pre rýchly prenos. Vyžaduje implementáciu metód writeToParcel a vytvorenie CREATOR. Používa sa na prenos dát medzi Activity, Service, BroadcastReceiver.
  • Cloneable: Uvádza, že objekt môže byť klonovaný metódou Object.clone().

Rozhrania v Android sa používajú na definovanie zmlúv, zabezpečenie polymorfizmu a spätných volaní.

Príklady:

  • Listeners (počúvacie programy udalostí):
    // Príklad poslucháča kliknutia
    View.OnClickListener
    
  • Callbacks (spätné volania):
    // Príklad spätného volania pre výsledok požiadavky
    retrofit2.Callback
    
  • Adapters (prispôsobovače):
    // Príklad adaptéra pre zoznam
    androidx.recyclerview.widget.RecyclerView.Adapter
    
  • Lifecycle Observers (pozorovatelia životného cyklu):
    // Príklad pozorovateľa životného cyklu
    androidx.lifecycle.LifecycleObserver
    
  • Runnable: Používa sa na definovanie kódu, ktorý sa vykonáva v samostatnom vlákne.
    java.lang.Runnable
    
  • Comparable/Comparator: Na definovanie poradia zoradenia objektov.
    java.lang.Comparable
    java.util.Comparator
    
  • ServiceConnection: Na interakciu s pripojenou službou.
    android.content.ServiceConnection
    
  • Binder: Základná trieda na implementáciu vzdialených volaní procedúr (IPC).
    android.os.Binder