2010-02-05 5 views
1

같은 객체를 서블릿에 문제없이 전송하는 일반적인 java 앱이 있지만 동일한 코드를 사용하는 Android 앱에서 시도 할 때Android App에서 서블릿으로 직렬화 된 객체를 전송하는 동안 NoSuchMethodException 수신

내가 "돈 보았다 ...

outputToServlet.writeObject(myobject) 

내가 안드로이드 애플 리케이션을 통해 문제를 반대하지 않는 문자열을 보낼 수 해요 NoSuchMethodException

을 던지는 : 그것은 저에 나가 배변 아키텍처 간 직렬화 사용 "대답, 왜 안되는지 알고 싶습니까?

아이디어가 있으십니까? 기본적으로 당신 때문에 몇 가지 (클라이언트 & 서버)를 너무 꽉 귀하의 질문에 "아키텍처 사이의 직렬화를 사용하지 마십시오"를

+0

Android에서 제공 한 메서드 'writeObject'를 (를) 찾을 수 없습니다. 이 방법이 확실합니까? –

+0

참으로 String 메서드를 사용하여 String을 보낼 수 있습니다. – chief

답변

0

내 생각 엔 클래스 정의에 Android의 writeObject에서 지원하지 않는 데이터 유형이 포함되어있는 것 같습니다. int, string 등의 일반적인 데이터 유형으로만 클래스를 제한하고 작동하는지 확인하십시오.

1

-chief

...

합니다. 직렬화를 사용하면 양측에 정확히 동일한 객체가 있어야하므로 곧 매우 번거로울 수 있습니다. 대신 다른 프로토콜을 사용하여 통신하십시오. 필자는 클라이언트 - 서버 통신을 위해 Android에서 XML-RPC를 성공적으로 사용했습니다. Here's 경량의 멋진 lib. 나는 사소한 것들을 수정해야했고 완벽하게 작동했습니다.

0

발견. 내 클래스에서 Google App Engine의 키가 아닌 기본 데이터 유형을 사용하고있었습니다. 일단 제거되면 예외가 발생하지 않습니다. 고마워 Doughy! 또한 Juri에게 다른 질문에 대한 정보를 보내 주셔서 감사드립니다. 고맙습니다.

관련 문제