반응형

이번 포스팅에서는 객체를 Intent를 통해 전달하는 방법을 알아보겠습니다. 


정수같은 단순한 값은 크기도 작고 접근 속도도 빨라 저장하고 복귀하기 쉽습니다. 그러나 단일 값이 아닌 큰 객체나 배열을 저장할 때는 최대한 신속하게 저장하기 위해 좀 더 효율적으로 데이터 처리를 해야 합니다. 


객체를 저장할 때는 자바의 Serialize 기능을 사용하면 쉽게 구현할 수 있습니다. 자바는 언어 차원에서 객체를 일차원의 데이터로 저장하는 기능을 제공하는데 이 기능이 바로 Serialize 입니다. Serializable 인터페이스를 상속 받으면 디폴트 직렬화 알고리즘이 적용되어 클래스의 모든 인스턴스 필드가 순서대로 저장이 됩니다. 


1. 먼저 Intent로 전달한 객체에 Serializable 인터페이스를 상속 받습니다. 

   아래 그림처럼 빨간 네모 박스가 Serializable 인터페이스를 상속받은 구현방법입니다.



2. Serializable 인터페이스를 상속받은 객체를 Intent에 담아 전달 받을 클래스로 보냅니다.

   (※ Intent로 전달하기 전에 전달 받은 클래스가 AndroidManifest.xml에 등록이 되어 있어야 합니다.)



3. Intent를 전달받은 클래스에서는 getSerialzableExtra() 메소드로 불러오기만 하면 됩니다. 



- 아래는 결과 값인 Logcat 메시지 입니다.


참 간단하죠? 예제 소스를 압축 파일로 올려 놓았으니 필요하신 분들은 다운받아 실행해 보시면 좀 더 이해하기 쉬우실 것 같습니다. 

다음에 알차고 좋은 내용으로 찾아 뵙겠습니다.


SerializableExam.zip


반응형

+ Recent posts