Monodroid, помещающий упаковываемые объекты в связку - PullRequest
6 голосов
/ 20 марта 2012

Так что я пытался поместить некоторые значения в пакет в моем переопределенном OnSaveInstanceState.Мне нужно сохранить некоторые объекты класса при перезапуске активности, то есть они должны быть разборными, что кажется невозможным для Monodroid?

Источник: http://docs.xamarin.com/android/about/limitations

Что я могу сделать, чтобы сохранить эти объекты класса в связке без возможности продажи?Я загружаю данные с сервера и не хочу делать это снова, например, при ротации пользователей, которая снова вызывает метод OnCreate.Поэтому было бы неплохо сохранить их, что избавит сервер от некоторой нагрузки на случайные повороты и тому подобное.

Ответы [ 2 ]

5 голосов
/ 23 мая 2013

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

Первоначально я реализовал вышеупомянутое предложение, а затем в результате дополнительных поисков обнаружил следующее:

http://dan.clarke.name/2012/09/implementing-iparcelable-in-mono-for-android/

Функция теперь поддерживается, и приведенная выше ссылка является отличным ресурсом о том, как ее реализовать.

4 голосов
/ 20 марта 2012

Невозможно реализовать интерфейс IParcelable в Mono для Android. Взято из документов :

Интерфейс IParcelable не может быть реализован в настоящее время, потому что для интерфейса android.os.Parcelable требуется:

  • Классы, реализующие интерфейс Parcelable, также должны иметь статическое поле с именем CREATOR, которое является объектом, реализующим
    Интерфейс Parcelable.Creator.

Поскольку mandroid.exe в настоящее время не может генерировать поля, этот интерфейс не может быть реализовано. Поддержка будет добавлена ​​в следующем выпуске.

Другой подход, который вы можете использовать, - просто сохранить объект вне действия, например, в классе, который подклассы Application. Вы можете хранить данные в своем классе приложения, используя либо статические свойства, либо получить доступ к свойствам / методам экземпляра в нем, используя свойство Application из своей деятельности. Более подробную информацию об использовании приложения можно найти в этом вопросе .

...