Sobes.tech
Junior

Wymień markery i interfejsy w rozwoju Android.

sobes.tech AI

Odpowiedź od AI

Interfejsy Marker (Marker Interfaces) w Android to interfejsy bez metod, używane do oznaczania klasy, dostarczając kompilatorowi lub środowisku wykonawczemu informacji o typie obiektu.

Przykłady:

  • Serializable: Wskazuje, że obiekt może być serializowany (zapisywany w strumieniu bajtów) do późniejszej deserializacji. Używane do przesyłania danych między komponentami, zapisywania stanu.
  • Parcelable: Bardziej wydajna wersja Serializable dla Androida. Pozwala na "opakowanie" obiektów w Parcel do szybkiego przesyłania. Wymaga implementacji metod writeToParcel i tworzenia CREATOR. Używane do przesyłania danych między Activity, Service, BroadcastReceiver.
  • Cloneable: Wskazuje, że obiekt może być klonowany metodą Object.clone().

Interfejsy w Android służą do definiowania kontraktów, zapewniania polimorfizmu i wywołań zwrotnych.

Przykłady:

  • Listeners (nasłuchiwacze zdarzeń):
    // Przykład nasłuchiwacza kliknięcia
    View.OnClickListener
    
  • Callbacks (zwroty):
    // Przykład zwrotu dla wyniku zapytania
    retrofit2.Callback
    
  • Adapters (adaptery):
    // Przykład adaptera dla listy
    androidx.recyclerview.widget.RecyclerView.Adapter
    
  • Lifecycle Observers (obserwatorzy cyklu życia):
    // Przykład obserwatora cyklu życia
    androidx.lifecycle.LifecycleObserver
    
  • Runnable: Używany do określenia kodu, który jest wykonywany w osobnym wątku.
    java.lang.Runnable
    
  • Comparable/Comparator: Do określenia kolejności sortowania obiektów.
    java.lang.Comparable
    java.util.Comparator
    
  • ServiceConnection: Do interakcji z powiązaną usługą.
    android.content.ServiceConnection
    
  • Binder: Podstawowa klasa do implementacji zdalnych wywołań procedur (IPC).
    android.os.Binder