Pandiyan Mani
1 min readJun 13, 2022

Serializable Vs Parcelable

Let us see what is Serializable and why its differentiated from Parcelable?

The Work of Serializable is to convert an object state to Byte Stream. For passing an object or an array between an application component we use this Serializable or Parcelable.

Difference between Serializable Vs Parcelable?

1.Serializable is an empty interface which doesn't have any default implementation method.

2.Parcelable is faster when compared with Serializable, Since the developer has to take care of the object state.

3.Serializable takes lot of temporary object which leads to Garbage Collection.

4.Serializable is easier to implement when compared with Parcelable.

Let us see an example how to implement Serializable

Class which contain student Details that implements Serializable interface

import java.io.Serializable;

public class Student implements Serializable {
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

String name;
}

Passing object from one Activity to another Activity

val student = Student()
student.setName("Pandiyan")

val intent = Intent(this,SecondActivity:clss. java)
intent.putExtra("StudentData", student)
startActivity(intent)

Getting object in Another Activity

val studentData = intent.getSerializableExtra("studentData") as Student

Creating student class using Parcelable

import android.os.Parcelable;

public class Student implements Parcelable {
protected Student(Parcel in) {
name = in.readString();
}

public static final Creator<Student> CREATOR = new Creator<Student>() {
@Override
public Student createFromParcel(Parcel in) {
return new Student(in);
}

@Override
public Student[] newArray(int size) {
return new Student[size];
}
};

public void setName(String name) {
this.name = name;
}

String name;

@Override
public int describeContents() {
return 0;
}

@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(name);
}
}

No responses yet