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.ServiceConnectionBinder: Հիմնական դասը հեռավոր կանչեր (IPC) իրականացնելիս:android.os.Binder