2012-05-30 4 views
2

나는 안드로이드 인 텐트를 serialize하고 클라이언트에서 서버로 소켓을 통해 보내고 server.i에서 역 직렬화하는 응용 프로그램을 구현하려고합니다. 일반 자바 직렬화 API를 사용하여 클라이언트 측에서 의도를 직렬화하려고 시도하지만 인 텐트가 serializable이 아니라는 것을 말하는 런타임입니다. 의도를 serialize하고 deserialize하는 솔루션이 있습니까? 그냥 내가 serialization 및 deserialization에 대한 kryo 사용하지만 다시 deserialization 시간에 오류가 발생했습니다 언급해야합니다. 이것에 대한 해결책이 있습니까?직렬화 안드로이드 의도

BR, 라

답변

1
나는 새로운 Serializable 객체를 생성하고, 즉, 액션, 번들 매개 변수에 관심이있는 그 Intent의 부분을 추가

,

Intent 개체 자체가 아닙니다 Serializable.

또 다른 접근법은 다른 Serializable 개체 유형에 값을 저장하고 자신의 서버에 해당 개체를 직렬화하는 사용자 고유의 Parcel 구현체를 작성하는 것입니다. Intent.writeToParcel() API를 사용하여 IntentParcel에 쓸 수 있습니다.

+0

힌트를 보내 주셔서 감사하지만 "C2DM (Android Cloud to Device Messaging)"이 의도를 일련 번호로 묶어서 모바일 장치로 보낼 수있는 방법이 있습니까? –

+0

불행히도 C2DM에 대한 경험이 없습니다. (그러나 C2DM 문서는 https://developers.google.com/android/c2dm/#received_data를 보내고받는 것을 모두 커버하는 것 같습니다. – stuckless

0

toUri()를 사용하여 일부 직렬화 인 텐트가 있습니다. 불행히도 해당 직렬화 방법 인 Intent.parseUri은 신뢰할 수 없으며 직렬화 된 데이터가 유효 함에도 불구하고 종종 null을 반환합니다.

+1

그리고 uri에는 플래그 또는 모든 추가 항목이 포함되어 있지 않습니다. – JacksOnF1re

관련 문제