Являются ли Socket / DataOutputStream / DataInputStream Parcelable? - PullRequest
0 голосов
/ 06 декабря 2018

Я пишу приложение в Android Studio и хочу передать данные с помощью Intent.putExtra ().Для этого мне нужен объект для реализации Parcelable.Проблема в том, что мой объект имеет переменные, такие как Socket или DataOutputStream.Для реализации Parcelable мне нужно, чтобы переменные также были parcelable.

Мой вопрос: являются ли Socket и DataOutputStream / DataInputStream пригодными для обработки?А если нет, как я могу передать их между двумя действиями в Android Studio?

1 Ответ

0 голосов
/ 28 декабря 2018

Нет, вы не можете этого сделать.Аргументы, которые вы вводите в Intent как «дополнительные», должны иметь возможность сериализации в поток байтов и постоянного хранения вне вашего приложения.Android делает это в случае, если нужно убить процесс ОС, на котором размещено ваше приложениеКогда Android создает новый процесс ОС, он затем восстанавливает ваши компоненты и передает Intent с этими дополнениями.

Из-за этого вы не можете передавать сокеты или потоки, подобные этому.

Просто сохранитессылка на ваш сокет или поток в переменной static, и она может быть "совместно использована" несколькими компонентами, например, "глобальными переменными".

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