Android中,我想在退出程序时,保存住当前的状态,当再次启动时,能回到退出时的状态,该怎么做呢?

 我来答
QQMSD8
2015-09-07 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部
Android中保存当前的状态通常是通过SharedPreferences对象来保存的。

SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。

SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,android123提示最终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml 处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。

它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/< >/shared_prefs目录下。
SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。

实现SharedPreferences存储的步骤如下:
1、根据Context获取SharedPreferences对象
2、利用edit()方法获取Editor对象。
3、通过Editor对象存储key-value键值对数据。
4、通过commit()方法提交数据。
yuanfentk0924
2012-09-17 · 超过15用户采纳过TA的回答
知道答主
回答量:111
采纳率:100%
帮助的人:35.3万
展开全部
当你按下手机的Home键的时候,系统会默认调用程式栈中最上层Activity的stop()方法,然後整个应用程式都会被隐藏起来,当你再次点击手机桌面上应用程式图示时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程式,而是直接进入,会直接显示程式栈中最上层的Activity.即你在按Home键时的状态。
追问
那我是要在onstop()和onResume()方法中写什么操作呢?能不能给我一个例子呢?十分感谢啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7a14e7584
2012-09-17
知道答主
回答量:43
采纳率:0%
帮助的人:26.9万
展开全部
是退出程序吗? activity组件下面有相关方法 好像叫OnStop?
将相关数据保存在一个特定的文件夹中 比如游戏进程,游戏数据等等,然后再启动时读取这些数据就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shen6983846
2012-09-17 · TA获得超过383个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:257万
展开全部
程序退出,你是home键退出,还是完全退出。保存状态,是保存什么东西的状态。
追问
是当我按back键时,会有弹出一个对话框,确认退出的对话框,当按确认时,程序并没有完全退出,而是启动了服务,在后台运行。而在退出的时候,要保存当前是在哪个页面(程序中有多个页面,页面之间是按选项卡的时候切换的)
追答
每个界面的onpause()方法里边通过 sharedprefrences 保存一个标志位,在onresume()方法里进行判断。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式