安卓ApiDemos学习 app/Activity/PersistentState
来源:互联网 发布:网络已连接,但无法上网 编辑:程序博客网 时间:2024/05/16 06:55
这个例子展示SharedPreferences的使用
首先取得SharedPreferences对象
SharedPreferences prefs = getPreferences(Activity.MODE_PRIVATE);
一般有如下3种取值
MODE_PRIVATE私有int值为0
MODE_WORLD_READABLE可读int值为1
MODE_WORLD_WRITEABLE可写int值为2
存储后,会在系统内生成一个存储文件。
如果是MODE_PRIVATE,就只能本App使用,如果为MODE_WORLD,则其他App也可以使用。
第二部,取得SharedPreferences 中存储的值
String restoredText = prefs.getString("text", null);
第一个参数是key,第二个参数是如果取不到值时候的默认值。
在本例子中,有如下代码存储了选中状态
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); } }
其中,下句是往第一个EditText写入文字
mSaved.setText(restoredText, TextView.BufferType.EDITABLE);
最后一步,Activity状态变化时,保存画面信息,包括文字,选择情况等。
protected void onPause() { super.onPause(); SharedPreferences.Editor editor = getPreferences(0).edit(); editor.putString("text", mSaved.getText().toString()); editor.putInt("selection-start", mSaved.getSelectionStart()); editor.putInt("selection-end", mSaved.getSelectionEnd()); editor.commit(); }
效果如下
- 安卓ApiDemos学习 app/Activity/PersistentState
- 安卓ApiDemos学习 app/Activity/Animation
- 安卓ApiDemos学习 app/Activity/Forwarding
- 安卓ApiDemos学习 app/Activity/HelloWorld
- 安卓ApiDemos学习 app/Activity/QuickContactsDemo
- 安卓ApiDemos学习 app/Activity/ReceiveResult
- 安卓ApiDemos学习 app/Activity/Redirection
- 安卓ApiDemos学习 app/Activity/ReorderActivities
- 安卓ApiDemos学习 app/Activity/SetWallpaper
- 安卓ApiDemos学习 app/Activity/Wallpaper
- 安卓ApiDemos学习 app/Activity/Translucent Blur
- 安卓ApiDemos学习 app/Alarm/AlarmController
- 安卓ApiDemos学习 app/Alarm/AlarmService
- 安卓ApiDemos学习 app/Dialog
- 安卓ApiDemos学习 app/Alarm/AlarmService
- ApiDemos学习笔记---app---activity
- 安卓ApiDemos学习 app/Device Admin/DeviceAdminSample
- ApiDemos学习笔记---app---Activity---Animation
- 扩展欧几里得算法
- web server 与 browser 的会话保持
- C# 中的委托和事件
- sql insert 变量
- Android世界的15款开源的游戏开发引擎
- 安卓ApiDemos学习 app/Activity/PersistentState
- linux vi
- Document对象内容集合
- 进程环境变量设置相关函数
- WINCE6.0 DM.EXE 激活驱动失败的原因之一
- oracle日志操作模式(归档模式和非归档模式)
- oracle中如何移动控制文件,数据文件,日志文件
- 利用js提交数据给服务器 可以很秘密的提交数据到服务器 运行会访问 一个gif文件
- Java 从Access数据库读取数据,插入到JavaDB数据库表中