そこで、Androidプログラミングのさまざまな要素を試すための基本的なチェスアプリを作成しており、これまで多くのことを学んでいますが、今回は迷子になっています。
エミュレータの向きが変わると、アクティビティがリセットされます。私の調査によると、アプリケーションが一時停止/中断されたときはいつでも同じことが起こります。キーボードの交換、電話、ホームキーの押下など。
明らかに、チェスゲームを絶えずリセットすることは実行可能ではないので、もう一度、この問題を修正する方法を学ぶ必要があることに気付きます。
私の調査では、アクティビティのonPausedメソッドのオーバーライド、オリエンテーションのリッスン、マニフェストのキーボード変更(android:configChanges経由)、Parcelablesの使用、またはシリアル化など、いくつかの主要なことが明らかになりました。
Pacelablesを使用して多くのサンプルコードを調べましたが、正直言って混乱しすぎています。明日、新鮮な目で戻ってくることは有益かもしれませんが、今のところ、Parcelablesを見れば見るほど意味がなくなります。
私のアプリケーションは、64個のセルオブジェクト(8x8 2D配列)を持つBoardオブジェクトを利用し、各セルには、実際のピースまたはスペースが空の場合はnullのピースオブジェクトがあります。パーセル可能またはシリアル化のいずれかを使用すると仮定すると、各クラス、ボード、セル、およびピースをパーセル化またはシリアル化する必要があると想定しています。
何よりもまず、ParcelableまたはSerializationは、この問題を検討するのに適切なものでさえありますか?もしそうなら、これにはParcelableまたはSerializableのどちらが好ましいですか?そして、3つのオブジェクトのそれぞれをパーセル化/シリアル化する必要があると仮定して正しいですか?最後に、Parcelableチュートリアルを理解するのが簡単なリンクはありますか?私が理解するのに役立つものは何でもあり、私のアプリケーションがさらに拡張されたときに、今後のさらなる頭痛の種を止めることができます。
どんな助けでもいただければ幸いです。