MonoDroid: обмен нетривиальными данными между действиями - PullRequest
2 голосов
/ 07 января 2012

У меня есть некоторые данные, которыми нужно манипулировать несколькими операциями. В основном есть один экран только для чтения и несколько экранов редактирования, которые висят на нем.

Сначала я рассмотрел передачу данных в качестве строкового параметра в намерение, но если пользователь нажмет кнопку «Назад» после редактирования поля, эти изменения будут потеряны.

Итак, каков рекомендуемый способ обмена данными между различными видами деятельности? Должен ли я просто сохранить его во временном файле перед каждым переходом страницы?

Ответы [ 2 ]

3 голосов
/ 07 января 2012

Самый простой способ сделать это, вероятно, - сохранить объект в каком-либо глобально доступном месте, например, в объекте Application для вашего приложения (конечно, создать его, если его еще нет).Это может быть как статический, так и экземпляр, в зависимости от того, как вы хотите, чтобы он работал.

Другой вариант - сериализовать объект до какого-либо строкового представления (XML, JSON и т. Д.), Передать его вСледующее действие и десериализовать его на другой стороне.Это будет работать, но определенно немного тяжелее.

1 голос
/ 18 апреля 2012

Вместо сериализации объект реализует интерфейс для класса, для которого вы хотите передать объекты. Parcelable является концепцией для Android и рекомендуется для лучшей производительности.

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