Итак, я делаю простое шахматное приложение, чтобы поиграть с различными элементами андроид-программирования, и пока я многому учусь, но на этот раз я потерян.
При изменении ориентации эмулятора активность сбрасывается. Основываясь на моих исследованиях, то же самое произойдет, когда приложение будет приостановлено / прервано, т.е. смена клавиатуры, телефонный звонок, нажатие клавиши «Домой» и т. д.
Очевидно, что постоянно сбрасывать игру в шахматы нереально, поэтому мне снова нужно научиться решать эту проблему.
Мое исследование затрагивает несколько основных вещей: переопределение метода onPaused в моей Деятельности, прослушивание Ориентации, изменений клавиатуры в моем манифесте (через android: configChanges), использование Parcelables или Сериализация.
Я искал много примеров кода с использованием Pacelables, но, честно говоря, это слишком запутанно. Может быть, возвращение завтра со свежими глазами будет полезно, но сейчас, чем больше я смотрю на Parcelables, тем меньше смысла в этом.
Мое приложение использует объект Board, который имеет 64 объекта Cell (в двумерном массиве 8x8), и каждая ячейка имеет объект Piece, либо реальный кусок, либо ноль, если пространство пустое. Предполагая, что я использую Parcelable или Serialization, я предполагаю, что мне придется Parcelize или Serialize для каждого класса, платы, ячейки и части.
Прежде всего, является ли Parcelable или Serialization подходящим решением для решения этой проблемы? Если да, то для этого предпочтительнее Parcelable или Serializable? И правильно ли я, предполагая, что каждый из трех объектов должен быть Parceled / Serialized? Наконец, есть ли у кого-нибудь ссылка на простой для понимания учебник по Parcelable? Что-нибудь, что поможет мне понять и прекратить дальнейшие головные боли в будущем, когда мое приложение расширится.
Любая помощь будет оценена.