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.ServiceConnectionBinder: Базов клас за реализиране на отдалечени извиквания на процедури (IPC).android.os.Binder