본문 바로가기

안드로이드 스튜디오

[ 안드로이드 ] Serializable을 활용하여 액티비티에 객체 전달

1. 객체 생성

// Memo.java
// Memo 클래스에 implemnts Serializable

import java.io.Serializable;

public class Memo implements Serializable {

    public int id;
    public String title;
    public String content;

    ...
    
}

2. 객체 전달

// MemoAdapter.java 

cardView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        ...
        
        Intent intent = new Intent(context, UpdateActivity.class);

        // 객체를 putExtra 로 넘겨줄때는
        // 해당 클래스에 implements Serializable 해줘야한다.
        intent.putExtra("memo", memo);

        context.startActivity(intent);
    }
});

3. 객체 수신

// UpdateActivity.java

// MemoAdapter에서 전달한 Intent 객체를 수신하기 위해 getIntent() 함수를 통해 참조 객체를 얻어옴
// geSerializableExtra() 함수를 통해 MemoAdapter에서 전달한 Memo 객체를 얻어옴
memo = (Memo) getIntent().getSerializableExtra("memo");