Назад к вопросам
Junior
106
questionbank
Перечислите маркеры и интерфейсы в Android-разработке.
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Маркерные интерфейсы (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