안드로이드에서 Activity 간에 객체(Object)를 전달해야 할 때가 있습니다.
기본적으로는 Activity간 Intent로 전달은 되지 않는데요
전달할 객체에 Serializable를 상속받아 전달하게 되면 Activity간 객체 전달이 가능해 집니다.
순서는 아래와 같습니다. 전달할 객체에 serializab을 구현해 줍니다.
직렬화를 하려는 객체는 동일한 serialVersionUID 를 가지고 있어야 합니다.
객체 정의
...
public class UserObject implements Serializable{
private static final long serialVersionUID = 1L;
private String name; private String id;
private String dev;
public UserObject(Stirng name, String id, String dev){
this.name = name;
this.id = id;
this.dev = dev;
}
// getter setter
...
위와 같이 Serializable을 implements 해서 객체를 만들어주고 객체를 보내주면 됩니다.
보내는 부분
// 인텐트로 객체를 전달하는 방법, 전달하는 Activity 쪽
...
// 인텐트로 전달할 객체를 생성
UserObject user = new UserObject("abc", "111", "test");
//인텐트 생성
Intent intent = new Intent(getApplicationContext(), NextActivity.class);
intent.putExtra("user", user); startActivity(intent);
//
...
받는 부분
//받는 Activity쪽
...
Intent intent = getIntent();
UserObject user = (UserObject) intent.getSerializableExtra("user");
...
위와같이 받아오면 됩니다.
직렬화 개념은 다음 기회에
반응형
'개발' 카테고리의 다른 글
windows 특정 포트 죽이기 (0) | 2020.06.11 |
---|---|
[Android] EditText 입력 시 키보드 엔키 기능 변경 하는 두가지 방법 (0) | 2020.05.13 |
[MSSQL] 문자열 교체하기 REPLACE (0) | 2020.05.06 |
[MSSQL] STUFF(문자열 치환)사용법 (0) | 2020.05.05 |
[이클립스] 검색 단축키 CTRL + H 키 눌렀을 때 File Search 기본으로 설정하기 2가지 방법 (0) | 2020.05.03 |
댓글