Activity的持久化状态是用getPreferences(int)方法返回的SharedPreferences对象来管理的,这个对象允许使用跟Activity关联的name/value对来获取和编辑Activity私有的状态。这个方法内部只是简单的调用getSharedPreferences(String,
int)方法,其中的String参数使用Activity的类名作为偏好的名字。
方法声明:
Public SharedPreferences getPreferences(int mode)
参数说明:
mode:操作模式,有三种可能的选择:
MODE_PRIVATE:默认的操作,创建只能被调用应用程序访问的文件(或者是共享相同用户名的所有应用程序),常量值:0(0x00000000)
MODE_WORLD_READABLE:允许其他应用程序对创建的文件有读取的访问权限。常量值:1(0x00000001)
MODE_WORLD_WRITEABLE:允许其他的应用程序对创建的文件有写的访问权限。常量值:2(0x00000002)
返回值:返回一个能够用于获取或编辑偏好值的SharedPreferences实例对象。
例如:
/*
* 在Activity显示的时候恢复被挂起或销毁时保存的状态
* @see android.app.Activity#onResume()
*/
@Override
protectedvoid onResume(){
super.onResume();
SharedPreferences prefs = getPreferences(Context.MODE_PRIVATE);
String restoredText = prefs.getString("text",
null);
if(restoredText !=
null){
mSaved.setText(restoredText, TextView.BufferType.EDITABLE);
int selectionStart = prefs.getInt("selection-start", -1);
int selectionEnd = prefs.getInt("selection-end", -1);
if(selectionStart != -1 && selectionEnd != -1){
mSaved.setSelection(selectionStart, selectionEnd);
}
}
}
/*
* Activity被挂起或销毁时,保存当前的状态。
* @see android.app.Activity#onPause()
*/
@Override
protectedvoid onPause(){
super.onPause();
SharedPreferences.Editor editor = getPreferences(Context.MODE_PRIVATE).edit();
editor.putString("text",
mSaved.getText().toString());
editor.putInt("selection-start",
mSaved.getSelectionStart());
editor.putInt("selection-end",
mSaved.getSelectionEnd());
editor.commit();
}
分享到:
相关推荐
Activity生命周期一般分为四个基本状态,分别是活动状态(running),暂停状态(paused),停止状态(stopped)和死亡状态。 1.活动状态(running) 活动状态一般是指该Activity正处于屏幕最显著的位置上显示,即该Activity...
了解项目的基本文件目录结构,了解Activity周期中的4种状态。 【过程】 (1)建立新项目,实现Hello World; 1)打开Eclipse,选择File -> New -> Android Project. 2)填写project name(helloword),然后选择选择...
其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。 WebStorage HTML新增的本地存储解决...
WF会定期在各个持久性点(Persistence Point)检查并将工作流实例保存到持久化存储中,这样如果工作流出现错误或是异常终止时相关的信息就会被存储,下次加载工作流实例时就会从此做为开始点。这个主要是针对工作内置...
坚持学习WF(18):使用IPendingWork接口 WF会定期在各个持久性点(Persistence Point)检查并将工作流实例保存到持久化存储中,这样如果工作流出现错误或是异常终止时相关的信息就会被存储,下次加载工作流实例时就会...
WF资料 ├─Activity │ │ 1_Activity 类.doc │ │ 2_状态机与顺序工作流的继承结构.doc │ │ 3_顺序工作流容器 SequentialWorkflowActivity .doc │ │ EventDriven绑定容器 ...
11.activity对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(d) A、onPause() B、onCreate() C、 onResume() D、onStart() Intent传递数据时,下列的数据类型哪些可以被传递(abcd)...
(6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求) 2、android-async-http 项目地址:https://github.com/loopj/android-async-http 文档介绍:http://loopj.com/android-async-http/ (1...
9.4 使用首选项保存状态 9.5 参考资料 9.6 小结 第10章 探索安全性和权限 10.1 理解Android安全性模型 10.1.1 安全性概念概述 10.1.2 为部署签名应用程序 10.2 执行运行时安全性检查 10.2.1...
9.4 使用首选项保存状态 9.5 参考资料 9.6 小结 第10章 探索安全性和权限 10.1 理解Android安全性模型 10.1.1 安全性概念概述 10.1.2 为部署签名应用程序 10.2 执行运行时安全性检查 10.2.1...