Sobes.tech
Junior

Նշեք Android զարգացման մեջ նշանավորիչներն ու ինտերֆեյսները։

sobes.tech AI

Պատասխան AI-ից

Android-ում Marker ինտերֆեյսները (Marker Interfaces) մեթոդներ չունեցող ինտերֆեյսներ են, որոնք օգտագործվում են դասը նշելու համար, տրամադրելով կոմպիլյատորին կամ գործարկման միջավայրին տեղեկություններ օբյեկտի տիպի մասին:

Օրինակներ՝

  • Serializable: Նշում է, որ օբյեկտը կարող է սերիալիզացվել (պահվել բայթային հոսքում) հետագա դեսերիալիզացման համար: Օգտագործվում է տվյալների փոխանցման համար կոմպոնենտների միջև, վիճակի պահպանման համար:
  • Parcelable: Ավելի արդյունավետ տարբերակ Android-ի համար Serializable-ից: Позволяет օբյեկտները "փաթեթավորել" Parcel-ում արագ փոխանցման համար: Պահանջում է writeToParcel մեթոդների իրականացմանը և CREATOR ստեղծելուն: Օգտագործվում է Activity, Service, BroadcastReceiver միջև տվյալների փոխանցման համար:
  • Cloneable: Նշում է, որ օբյեկտը կարող է կլոնավորվել Object.clone() մեթոդով:

Android-ում ինտերֆեյսները օգտագործվում են պայմանագրեր սահմանելու, պոլիմորֆիզմ ապահովելու և հետկանչեր (callbacks) իրականացնելու համար:

Օրինակներ՝

  • 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