Получение исключения NoSuchMethodException при попытке перенести сериализованный объект из приложения Android в сервлет - PullRequest
1 голос
/ 05 февраля 2010

У меня есть нормальное Java-приложение, которое без проблем отправляет тот же объект сервлету, но когда я пытаюсь сделать это в приложении для Android, используя тот же код, который выдает мне:

outputToServlet.writeObject(myobject)

Бросив NoSuchMethodException

Я могу без проблем отправить объект String через приложение Android ...

Я видел ответ "не использовать сериализацию между архитектурами", но я хотел бы знать, почему нет?

Есть идеи?

-chief

Ответы [ 3 ]

1 голос
/ 05 февраля 2010

На ваш вопрос "Не используйте сериализацию между архитектурами" ...

В основном потому, что вы соединяете вещи (клиент и сервер) слишком тесно. Когда вы используете сериализацию, у вас должны быть одинаковые объекты с обеих сторон, которые могут скоро стать довольно громоздкими. Вместо этого попробуйте использовать другие протоколы для связи. Я успешно использовал XML-RPC на Android для связи клиент-сервер. Вот хорошая, легкая библиотека. Мне просто нужно было изменить некоторые мелочи, и это сработало идеально.

0 голосов
/ 05 февраля 2010

Нашел проблему. Я использовал не родной тип данных в своем классе, Ключ для Google App Engine После удаления исключение не было выброшено. Спасибо, Дауфи! Также спасибо Юри за информацию по моему другому вопросу. Цени это.

0 голосов
/ 05 февраля 2010

Я предполагаю, что ваше определение класса содержит типы данных, которые каким-то образом не поддерживаются writeObject в Android. Попробуйте ограничить свой класс только общими типами данных, такими как int, string и т. Д., И посмотрите, работает ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...