Назад к вопросам
Junior — Middle
67
Какие типы интерфейсов для преобразования объектов в Android вы знаете?
Компании, где спрашивали
Core outstaff
Ответ от нейросети
sobes.tech AI
В Android для преобразования объектов часто используются следующие интерфейсы:
-
Parcelable — интерфейс для сериализации объектов с целью передачи между компонентами (например, между Activity или Service). Он более эффективен, чем Serializable, так как оптимизирован под Android.
-
Serializable — стандартный Java-интерфейс для сериализации объектов. Используется реже из-за меньшей производительности.
-
TypeAdapter (в библиотеках Gson) — интерфейс для кастомного преобразования объектов в JSON и обратно.
-
Converter (в Retrofit) — интерфейс для преобразования HTTP-ответов в объекты и наоборот.
Пример реализации Parcelable:
class User(val name: String, val age: Int) : Parcelable {
constructor(parcel: Parcel) : this(
parcel.readString() ?: "",
parcel.readInt()
)
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(name)
parcel.writeInt(age)
}
override fun describeContents(): Int = 0
companion object CREATOR : Parcelable.Creator<User> {
override fun createFromParcel(parcel: Parcel): User = User(parcel)
override fun newArray(size: Int): Array<User?> = arrayOfNulls(size)
}
}