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

发布网友 发布时间:2022-04-23 00:41

我来回答

4个回答

热心网友 时间:2023-10-09 11:21

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()方法提交数据。

热心网友 时间:2023-10-09 11:21

当你按下手机的Home键的时候,系统会默认调用程式栈中最上层Activity的stop()方法,然後整个应用程式都会被隐藏起来,当你再次点击手机桌面上应用程式图示时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程式,而是直接进入,会直接显示程式栈中最上层的Activity.即你在按Home键时的状态。追问那我是要在onstop()和onResume()方法中写什么操作呢?能不能给我一个例子呢?十分感谢啊

热心网友 时间:2023-10-09 11:21

是退出程序吗? activity组件下面有相关方法 好像叫OnStop?
将相关数据保存在一个特定的文件夹中 比如游戏进程,游戏数据等等,然后再启动时读取这些数据就可以了

热心网友 时间:2023-10-09 11:22

程序退出,你是home键退出,还是完全退出。保存状态,是保存什么东西的状态。追问是当我按back键时,会有弹出一个对话框,确认退出的对话框,当按确认时,程序并没有完全退出,而是启动了服务,在后台运行。而在退出的时候,要保存当前是在哪个页面(程序中有多个页面,页面之间是按选项卡的时候切换的)

追答每个界面的onpause()方法里边通过 sharedprefrences 保存一个标志位,在onresume()方法里进行判断。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com