Android

네트워크를 통해 객체를 주고받기 위한 Serializable(직렬화)

567Rabbit 2024. 6. 10. 17:53

직렬화(Serializable) 란?

 

객체의 상태를 바이트 스트림으로 변환하여 파일로 저장하거나 네트워크를 통해 전송할 수 있도록 하는 과정

 

 

직렬화(Serializable)의 목적 ?

 

객체를 네트워크를 통해 전송할 때 직렬화가 필요하며 객체를 주고받기 위해 직렬화가 사용된다.

직렬화된 객체는 메모리나 디스크에 캐시로 저장하고, 필요할 때 다시 불러와서 사용할 수 있다.

 

 

적용하기

 

Activity에서 아래와 같은 코드를 작성하면 빨간 밑줄이 뜨는데,

 

Employer employer = new Employer(1000,name,salary,age);

 

 

 

class로 이동해서 클래스에 implements Serializable 붙여서 직렬화 해주어야 한다.

 

 

 

 

직렬화된 객체를 받아오기 위해서는 .getSerializableExtra() 함수를 사용하면 된다.

Employer employer = (Employer) o.getData().getSerializableExtra("employer");