我正在制作一个基本的国际象棋应用程序,以便玩一些各种Android编程元素,到目前为止,我学到了很多东西,但这次我迷失了。
当模拟器的方向改变时,活动会被重置。根据我的研究,每当应用程序暂停/中断时,例如键盘更改,电话呼叫,按下主页键等,都会发生同样的事情。
显然,让国际象棋游戏不断重置是不可行的,因此我再次发现自己需要学习如何解决这个问题。
我的研究提出了一些主要的事情,覆盖我的Activity中的onPaused方法,在我的清单中侦听定位、键盘更改(通过android:configChanges),使用Parcelables或Serialization。
我查阅了很多使用Pacelables的示例代码,但老实说它太令人困惑了。也许明天回来以新鲜的眼睛看会更有益,但现在我越看Parcelables就越觉得它没有意义。
我的应用程序利用一个Board对象,其中包含64个Cell对象(在一个8x8的二维数组中),每个Cell对象都有一个Piece对象,可以是实际的象棋子,也可以为空如果该空间为空。假设我使用Parcelable或Serialization,我假设我需要将每个类(Board、Cell和Piece)进行Parcelize或Serialize。
首先,Parcelable或Serialization是否是解决这个问题的正确方法?如果是,哪种更适合?我是否正确地认为三个对象中的每一个都必须被Parceled/Serialized?最后,有没有人有一个简单易懂的Parcelable教程链接,任何帮助我理解并防止在我的应用程序进一步扩展时出现更多头痛的东西都可以。
任何帮助都将不胜感激。