Android 提供了多种存储数据的方法,其中最简单的是使用Shared Preferences. Shared Preferences 可以存储 Key/value 对,Shared Preferences 支持存取 boolean, float ,long ,integer, string ,最常用的使用Shared Preferences是用来存储一些应用偏好。此外的一个方法是使用onSaveInstanceState(),这是特别用来保存UI 状态的。

App->Activity->Persistent State使用了Shared Preferences来保持部分UI状态(TextView的值)。

创建或是修改Shared Preferences,使用getSharedPreferences(String name, int mode)方法。Shared Preferences 用于单个Application不同Activity之间共享一些数据,单不能用于不同Application之间共享数据。

SharedPreferences.Editor 用来给Shared Preferences添加数据: editor.putXXX(key,value)

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();}


读取Shared Preference: pref.getXXX(key)

protected void onResume() {super.onResume(); SharedPreferences prefs = getPreferences(0);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->Persistent State_第1张图片" src="https://img.it610.com/image/info5/e4236684b11d4c81a2739f8b83b895fe.jpg" width="346" height="506" style="border:1px solid black;">

Persistent State 演示了如何使用Shared Preferences在Activity 恢复时保持EditText的内容。 单是更一般的方法是使用onSaveInstanceState.

更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. mybatisplus的坑 insert标签insert into select无参数问题的解决
  3. 箭头函数的基础使用
  4. python起点网月票榜字体反爬案例
  5. NPM 和webpack 的基础使用
  6. Python list sort方法的具体使用
  7. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  8. python list.sort()根据多个关键字排序的方法实现
  9. android上一些方法的区别和用法的注意事项

随机推荐

  1. Android重要组件之一 Service 服务讲解学
  2. Android原生开关组件
  3. android和java平台统一的DES加密解决方案
  4. 应用程序组件之APP基础(转官方)
  5. CMMB在Android平台上的实现步骤简介
  6. [Android]Android 如何绘制图表
  7. Android Studio创建Android项目生成的文
  8. libcurl库编译生成不带版本的设置方法
  9. 初探Android热修复——tinker接入
  10. Flutter 学习之打包 - 纯Flutter项目生成