728x90
Parcelable
- 자바의 Serializeable을 안드로이드에서 구현한 인터페이스
- 안드로이드는 액티비티 간 데이터 전달 시 Parcel 이라는 추상화 된 객체로 전달
- Parcelable은 Parcel에 객체를 저장하거나 읽어올 수 있게해주는 인터페이스
즉 직접 정의한 클래스 객체를 다른 액티비티로 전달하고 싶을 때 구현
EX) intent.putParcelableExtra() 를 이용하여 객체 전송
import android.os.Parcel;
import android.os.Parcelable;
public class Person implements Parcelable {
private String name;
private int age;
public Person()
{
}
public Person(String name, int age)
{
this.age = age;
this.name = name;
}
//직렬화 된 데이터를 받아서 역직렬화
protected Person(Parcel in) {
age = in.readInt();
name = in.readString();
}
//필수 생성 (자동으로 생성됨)
public static final Creator<Person> CREATOR = new Creator<Person>() {
@Override
public Person createFromParcel(Parcel in) {
return new Person(in);
}
@Override
public Person[] newArray(int size) {
return new Person[size];
}
};
@Override
public int describeContents() {
return 0;
}
//객체가 직렬화되어 보내지기 전 데이터 직렬화 과정
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(name);
parcel.writeInt(age);
}
}
728x90
'Android' 카테고리의 다른 글
[안드로이드] TabLayout과 ViewPager 사용 (0) | 2020.08.23 |
---|---|
[안드로이드 JetPack] 데이터 바인딩 (0) | 2020.08.23 |
[안드로이드] View가 그려지는 과정 (0) | 2020.08.23 |
[안드로이드] ANR (0) | 2020.08.22 |
[안드로이드] AsyncTask (0) | 2020.08.22 |
댓글