Junior — Middle
What types of interfaces for object transformation in Android do you know?
sobes.tech AI
Answer from AI
In Android, the following interfaces are often used for object transformation:
- Parcelable — an interface for serializing objects for transfer between components (e.g., between Activity or Service). It is more efficient than Serializable because it is optimized for Android.
- Serializable — a standard Java interface for object serialization. It is used less frequently due to lower performance.
- TypeAdapter (in Gson libraries) — an interface for custom conversion of objects to JSON and back.
- Converter (in Retrofit) — an interface for converting HTTP responses into objects and vice versa.
An example implementation of 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)
}
}