android开发问题:在做一个小游戏,游戏界面过程中如果按了“back”键返回主界面,主界面有个按钮.....

android开发问题:在做一个小游戏,游戏界面过程中如果按了“back”键返回游戏主界面,主界面有个按钮"继续游戏",怎样实现按“继续游戏”后,再返回游戏界面,显示的状态是返回之前的状态?
游戏界面是一个比较大的Acitivity,有一个GridView,GridView内某些格子又是一个GridView,所以有很多数据,像ArrayList、LinkedList之类,了解到可以用SharedPreferents存储数据,但是这个方法好像只能存String、boolean、int之类的简单数据类型,还能用它吗?困惑的是onSaveInstances()方法不会在按”back“键后调用,就不能用Bundle存储状态数据了吗?
另外,是不是按”Back“后系统一定会调用finish()方法销毁此Activity,然后从一个Activity启动另外一个Activity时,另外的那个Activity一定会调用onCreate()方法?
呵呵,问题比较多,了解的大虾们尽量帮帮小弟哈~

BACK建你是可以捕捉到的啊,你可以自己写处理BACK的过程啊具体写法
重写onkeyDown方法
在里面写
if(keyCode==KeyEvent.KEYCODE_BACK){
这里写你点击BACK要处理的代码
然后,返回true; 返回false的话,是使用系统默认的处理方式
}
return super.onKeyDown(keycode,event);

还有就是存储数据,你不能用SQLITE吗,android上这么强大的数据库,还有就是你按back,系统是不会执行finish的,只是返回了上一个页面,清除了当前页面,当然你自己写的时候,如果需要关闭就写finish!!

参考资料:r

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-25
只要 你 的 程序没 有 退出 ,可以用 BUNDLE存储,如果要 持久保存,就 需要写到文件,或用DB.
简单数据就用文件(SharedPreferents 就是 用 XML文件)

”Back“后系统不一定会调用finish()方法销毁此Activity,只有系统资源不够时,才会销毁一些适活的Activity.
从一个Activity启动另外一个Activity时,另外的那个Activity不一定会调用onCreate()方法,如果它曾经显示过一次,且没被finish(),那只会从ONSTART()开始
第2个回答  2011-06-25
应该看看这个游戏能不能存档吧。
相似回答