Sobes.tech
Junior

Избройте маркери и интерфейси в Android разработката.

sobes.tech AI

Отговор от AI

Marker интерфейсите (Marker Interfaces) в Android са интерфейси без методи, използвани за маркиране на клас, предоставяйки на компилатора или средата за изпълнение информация за типа на обекта.

Примери:

  • Serializable: Посочва, че обектът може да бъде сериализиран (запазен в поток от байтове) за по-нататъшна десериализация. Използва се за прехвърляне на данни между компоненти, запазване на състояние.
  • Parcelable: По-ефективна версия за Android на Serializable. Позволява обектите да бъдат "опаковани" в Parcel за бърз пренос. Изисква реализиране на методите writeToParcel и създаване на CREATOR. Използва се за прехвърляне на данни между Activity, Service, BroadcastReceiver.
  • Cloneable: Посочва, че обектът може да бъде клониран чрез метода Object.clone().

Интерфейсите в Android се използват за определяне на договори, осигуряване на полиморфизъм и обратни извиквания.

Примери:

  • Listeners (слушатели на събития):
    // Пример за слушател на клик
    View.OnClickListener
    
  • Callbacks (обратни извиквания):
    // Пример за обратен вик за резултат от заявка
    retrofit2.Callback
    
  • Adapters (адаптери):
    // Пример за адаптер за списък
    androidx.recyclerview.widget.RecyclerView.Adapter
    
  • Lifecycle Observers (наблюдатели на жизнения цикъл):
    // Пример за наблюдател на жизнения цикъл
    androidx.lifecycle.LifecycleObserver
    
  • Runnable: Използва се за определяне на код, който се изпълнява в отделен поток.
    java.lang.Runnable
    
  • Comparable/Comparator: За определяне на реда на сортиране на обекти.
    java.lang.Comparable
    java.util.Comparator
    
  • ServiceConnection: За взаимодействие с свързана услуга.
    android.content.ServiceConnection
    
  • Binder: Базов клас за реализиране на отдалечени извиквания на процедури (IPC).
    android.os.Binder