Ant*_*ver 4 serialization android orientation parcelable
所以我正在制作一个基本的国际象棋应用程序来玩各种各样的Android编程元素,到目前为止我学到了很多,但这次我迷路了.
当模拟器的方向改变时,活动将被重置.根据我的研究,在应用程序暂停/中断的任何时候都会发生同样的事情,即.键盘更换,电话,打回家钥匙等
显然,让国际象棋游戏不断重置是不可行的,所以我再次发现自己需要学习如何解决这个问题.
我的研究提出了一些主要的事情,在我的Activity中覆盖onPaused方法,在我的清单中查找Orientation,键盘更改(通过android:configChanges),使用Parcelables或Serialization.
我使用Pacelables查找了很多示例代码,但说实话它太混乱了.也许明天以新鲜的眼睛回来将是有益的,但是现在我越看Parcelables它的意义就越小.
我的应用程序使用一个Board对象,它有64个Cell对象(8x8 2D数组),每个单元格都有一个Piece Object,可以是实际的一个,如果空格是空的,则为null.假设我使用Parcelable或Serialization,我假设我必须对每个类,Board,Cell和Piece进行Parcelize或Serialize.
首先,Parcelable或Serialization是否正确地考虑这个问题?如果是这样,Parcelable或Serializable是首选吗?我是否正确假设三个对象中的每一个都必须是Parceled/Serialized?最后,是否有人链接到一个简单易懂的Parcelable教程?任何可以帮助我理解的东西,当我的应用程序进一步扩展时,可以阻止进一步的麻烦.
任何帮助,将不胜感激.
在您的<Activity>标签的清单中,您可以添加android:configChanges ="orientation | keyboardHidden",这将停止重新加载活动,并在更改方向或隐藏键盘时调用onConfigurationChanged().
如果您需要在发生这些事件中的任何一个时进行调整,您可以覆盖活动中的onConfigurationChanged(),如果不是您要做的就是将属性添加到清单中.
就像是:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}
Run Code Online (Sandbox Code Playgroud)
效果很好.
| 归档时间: |
|
| 查看次数: |
8753 次 |
| 最近记录: |