Sobes.tech
Junior

Android dasturlashda belgilovchilar va interfeyslarni sanab o'ting.

sobes.tech AI

AIdan javob

Android'dagi Marker Interfaces (Marker Interfaces) metodisiz bo'sh interfeyslar bo'lib, sinfni belgilash uchun ishlatiladi, kompilator yoki bajariladigan muhitga ob'ektning turiga oid ma'lumotlarni taqdim etadi.

Misollar:

  • Serializable: Ob'ekt seriyalash mumkinligini (bayt oqimiga saqlash) va keyinchalik deserializatsiya qilish mumkinligini ko'rsatadi. Komponentlar o'rtasida ma'lumotlarni uzatish, holatni saqlash uchun ishlatiladi.
  • Parcelable: Android uchun Serializable ning samaraliroq versiyasi. Ob'ektlarni Parcel ga "paketlash" imkonini beradi, tez uzatish uchun. writeToParcel metodini va CREATOR ni yaratishni talab qiladi. Activity, Service, BroadcastReceiver o'rtasida ma'lumotlarni uzatish uchun ishlatiladi.
  • Cloneable: Ob'ekt Object.clone() metodi yordamida klonlanishi mumkinligini ko'rsatadi.

Android'dagi interfeyslar shartnomalarni belgilash, polimorfizmni ta'minlash va qaytish chaqiruvlarini amalga oshirish uchun ishlatiladi.

Misollar:

  • Listeners (voqealarni tinglovchilar):
    // Kliki tinglovchi misoli
    View.OnClickListener
    
  • Callbacks (qaytish chaqiruvlar):
    // So'rov natijasi uchun qaytish chaqiruv misoli
    retrofit2.Callback
    
  • Adapters (moslashtiruvchilar):
    // Ro'yxat uchun adapter misoli
    androidx.recyclerview.widget.RecyclerView.Adapter
    
  • Lifecycle Observers (hayot aylanishi kuzatuvchilari):
    // Hayot aylanishi kuzatuvchisi misoli
    androidx.lifecycle.LifecycleObserver
    
  • Runnable: Kodni alohida oqimda bajarilishini belgilash uchun ishlatiladi.
    java.lang.Runnable
    
  • Comparable/Comparator: Ob'ektlarni saralash tartibini belgilash uchun.
    java.lang.Comparable
    java.util.Comparator
    
  • ServiceConnection: Ulangan xizmat bilan o'zaro aloqada bo'lish uchun.
    android.content.ServiceConnection
    
  • Binder: IPC uchun masofadan chaqirishlarni (remote procedure calls) amalga oshirish uchun asosiy sinf.
    android.os.Binder