반응형
안녕하세요 돼지왕 왕돼지입니다.
오늘은 Activity 의 상태 저장 중 Object 를 저장하는 방법에 대해 알아보겠습니다.
저장은 Serializable 과 Parcelable 을 이용한 방법, 이 두가지 방법이 있는데 모두 알아보겠습니다.
2012/01/25 - [프로그래밍 놀이터/안드로이드] - [Android/안드로이드] Serializable이 뭔가요? Serializable class 를 만들 때 serial Version UID 가 필요한 이유를 아시나요?
2012/01/25 - [프로그래밍 놀이터/안드로이드] - [Android/안드로이드] IPC( 프로세스간 통신 ) 을 위한 Parcelable Object 만들기. 어렵지 않아요. 함께 만들어봐요.
Serializable 을 이용하는 방법.
public void onCreate( Bundle savedInstanceState ){
if (savedInstaceState == null){
if (savedInstaceState == null){
arVertex = new ArrayList<Vertex>();
}
else{
arVertex = (ArrayList<Vertex>)savedInstanceState.getSerializable( "Curve" );
}
}
public void onSaveInstaceState(Bundle outState){
outState.putSerializable( "Curve", arVertex );
}
public class Vertex implements Serializable{
private static final long serialVersionUID = 100L;
Vertex(float ax, float ay, boolean ad){
// To do
}
}
Parcelable 을 이용한 방법.
class Vertex implements Parcelable{
Vertex(float ax, float ay, boolean ad){
// To Do
}
public int describeContents(){
return 0;
}
public void writeToParcel(Parcel dest, int flags){
dest.writeFloat(x);
dest.writeFloat(y);
dest.writeBooleanArray(new boolean[] {True});
}
public static final Parcelable.Creator<Vertex> CREATOR = new Creator<Vertex>(){
public Vertex createFromParcel(Parcel source){
int x = source.readInt();
int y = source.readInt();
boolean[] td = new boolean[1];
source.readBooleanArray(td);
return new Vertex(x, y, td[0]);
}
public Vertex[] newArray(int size){
return new Vertex[size];
}
}
}
public void onCreate( Bundle savedInstanceState ){
if (savedInstanceState == null){
arVertex = new ArrayList<Vertex>();
}
else{
arVertex = savedInstanceState.getParcelableArrayList("Curve");
}
}
}
public void onSaveInstanceState(Bundle outState){
outState.putParcelableArrayList( "Curve", arVertex );
}
로그인 없이 추천 가능합니다. 손가락 꾸욱~
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Android/안드로이드] 액티비티 생명주기. ( Activity Life cycle ) (0) | 2012.02.19 |
---|---|
[Android/안드로이드] Activity의 상태 저장 ( SharedPreference와 Bundle 을 이용하는 빙법) (0) | 2012.02.19 |
[Android/안드로이드] Tab Activity 의 모든 것. (0) | 2012.02.18 |
[Android/안드로이드] Dialog 에 대한 모든 것. (0) | 2012.02.18 |
[Android/안드로이드] Custom Dialog & Popup Window. (0) | 2012.02.18 |
댓글