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