마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

직렬화가 되지 않는 라이브러리의 클래스를 Intent로 넘기는 방법이 있나요?

0 추천
현재 FirebaseVisionLabel을 intent로 넘기려고 하는데 해당 클래스는 직렬화가 안됩니다.

리사이클러뷰로 된 특정 아이템을 클릭했을 때 해당 아이템에 해당하는 위 클래스 객체들이 ArrayList로 되어있어서 intent로 ArrayList를 넘기려고 합니다. 그런데 찾아보니 Parceable이나 Serializable을 implements 해야 된다고 해서 했지만 직렬화가 불가능해서 넘길 수가 없었습니다.

방법이 없을까요?
하람 (210 포인트) 님이 2018년 8월 20일 질문

3개의 답변

0 추천
전역변수로 사용하시는게 좋을 듯 합니다.

http://theeye.pe.kr/archives/1314
익명사용자 님이 2018년 8월 20일 답변
구현상 각 아이템에 해당하는 ArrayList라 전역변수로는 불가능하네요 ㅠㅠ
setter/getter만 만들어주면 되는데.. 안된다고 하시는지 이해가 안되긴 합니다만...
전역변수가 안된다면, 필요한 데이터만 뽑아 Parceable 같은 객체를 별도로 만들어 넘기셔야 할 듯 하네요..
0 추천
불가능합니다.

FirebaseVisionlabel이란 클래스 자체를 상속받아서 재정의하고 직렬화를 implementation해서 사용가능한 상황이라면 괜찮지만 불가능한 상황이면 안되죠.

 

내부 db를 사용하시길 추천합니다.
백마귀족 (1,550 포인트) 님이 2018년 8월 21일 답변
0 추천

직렬화 클래스로 데이터를 옮겨서 전달하면 되지 않을까요?

가령 아래와 같이요 

WrapperFirebaseVisionLabel implements Serializable {

WrapperFirebaseVisionLabel(@NonNull FirebaseVisionLabel data) {

// 필요한 데이터 설정

}

}

아 ArrayList 는 캐스팅해서 전달해보세요 (Serializable) 변수 명 

aucd29 (218,390 포인트) 님이 2018년 8월 22일 답변
aucd29님이 2018년 8월 22일 수정
...