所以我正在制作一个基本的国际象棋应用程序来玩转android编程的一些不同元素,到目前为止我学到了很多东西,但这次我迷路了。
当模拟器的方向改变时,活动被重置。根据我的研究,任何时候应用程序暂停/中断都会发生同样的事情,即。换键盘、打电话、敲home键等。
显然,不断重置国际象棋游戏是不可行的,所以我再次发现自己需要学习如何解决这个问题。
我的研究提出了一些主要内容,覆盖我的 Activity 中的 onPaused 方法、监听方向、清单中的键盘更改(通过 android:configChanges)、使用 Parcelables 或序列化。
我已经使用 Pacelables 查找了很多示例代码,但老实说它太令人困惑了。也许明天带着新的眼光回来会是有益的,但现在我看 Parcelables 的次数越多,它的意义就越小。
我的应用程序使用了一个 Board 对象,它有 64 个 Cell 对象(在一个 8x8 2D 数组中),每个单元格都有一个 Piece Object,如果空间为空,则可以是实际的一块或 null。假设我使用 Parcelable 或 Serialization,我假设我必须对每个类、Board、Cell 和 Piece 进行 Parcelize 或序列化。
首先,Parcelable 或 Serialization 是否是解决这个问题的正确方法?如果是这样,Parcelable 或 Serializable 是首选吗?我是否正确假设这三个对象中的每一个都必须被打包/序列化?最后,有人有一个简单易懂的 Parcelable 教程的链接吗?当我的应用程序进一步扩展时,任何可以帮助我理解并停止进一步头痛的事情。
任何帮助,将不胜感激。