Sobes.tech
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)
    }
}
What types of interfaces for object transformation in… - sobes.tech