Android-приложение сбрасывается при изменении ориентации, лучший способ справиться?

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

При изменении ориентации эмулятора активность сбрасывается. Основываясь на моих исследованиях, то же самое произойдет, когда приложение будет приостановлено / прервано, т.е. смена клавиатуры, телефонный звонок, нажатие клавиши «Домой» и т. д.

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

Мое исследование затрагивает несколько основных моментов: переопределение метода onPaused в моей Activity, прослушивание Orientation, изменения клавиатуры в моем манифесте (через android: configChanges), использование Parcelables или Serialization.

Я посмотрел много примеров кода с использованием Pacelables, но, честно говоря, это слишком запутанно. Может быть, возвращение завтра со свежими глазами будет полезно, но сейчас, чем больше я смотрю на Parcelables, тем меньше смысла в этом.

Мое приложение использует объект Board, который имеет 64 объекта Cell (в двумерном массиве 8x8), и каждая ячейка имеет объект Piece, либо реальный кусок, либо ноль, если пространство пустое. Предполагая, что я использую Parcelable или Serialization, я предполагаю, что мне придется Parcelize или Serialize для каждого класса, платы, ячейки и фигуры.

Прежде всего, является ли Parcelable или Serialization подходящим решением для решения этой проблемы? Если да, то для этого предпочтительнее Parcelable или Serializable? И правильно ли я, предполагая, что каждый из трех объектов должен быть Parceled / Serialized? Наконец, есть ли у кого-нибудь ссылка на простой для понимания учебник по Parcelable? Что-нибудь, чтобы помочь мне понять и предотвратить дальнейшие головные боли в будущем, когда мое приложение расширяется еще больше.

Любая помощь будет оценена.

Ответы на вопрос(5)

Ваш ответ на вопрос