0

Мне нужно передать SoapObject от одного Activity другому, в intent. Это возможно?Как передать SoapObject из одной деятельности в другую с намерением

Я не вижу его реализации Serializable, но он реализует KvmSerializable (хотя я не знаю, что это такое).

+0

Вы пробовали с помощью GSon, чтобы разобрать его в String и передать эту строку в другую активность, а затем снова передать в SoapObject во время Fetching. Поскольку я также не используется, но если вы хотите попробовать, я предоставил код. –

ответ

1

Передача через намерение кажется излишним. Просто сохраните его в одноэлементном или статическом классе, доступном из обоих действий.

2

Управление передачей между Activity экземплярами рассматривается как межпроцессное общение. Intent содержит параметры управления и данных этого «соглашения о вызове».

Из-за этого существуют ограничения на то, что вы можете пройти. Объект Intent может передавать только объекты, которые могут храниться в Bundle. Сюда относятся типы «значения», некоторые типы ArrayList, Parcelable и Serializable. Произвольный объект не может быть передан. См. here и here.

Ksoap2 KvmSerializable не является производным от Serializable. Вы должны сериализовать и десериализовать его самостоятельно.

Вы можете сделать подкласс SoapObject, и вы можете добавить Serializable к нему напрямую. Тем не менее, вы должны использовать ksoap2 API для участия в Java Serialization, что означает, что вы должны внедрить некоторый код для учета «внутренних дел» вашего SoapObject.

Другой альтернативой является создание подкласса SoapObject интерфейса Parcelable. Код для реализации похож на пользовательскую сериализацию Java.

Вы можете передать исходный XML, если это доступно, затем повторно разобрать его в принимающем Activity.

В крайнем случае, @RajanBhavsar выше рекомендовал строку JSON, это разумный план. Поскольку API ksoap2, похоже, использует «косвенную» модель свойств, я не уверен, как это произойдет автоматически.

 Смежные вопросы

  • Нет связанных вопросов^_^