`
wang_peng1
  • 浏览: 3900093 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

两种保存状态的方法getSharedPreferences和onSaveInstanceState

阅读更多

虽然这些东西很简单有时候还真的让你搞混

@Override 
protected void onPause() { 
   
super.onPause(); 
 
   
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE); 
   
Editor editor = prefs.edit(); 
    editor
.putString("lastActivity", getClass().getName()); 
    editor
.commit(); 
} 
public class Dispatcher extends Activity { 
 
   
@Override 
   
protected void onCreate(Bundle savedInstanceState) { 
       
super.onCreate(savedInstanceState); 
 
       
Class<?> activityClass; 
 
       
try { 
           
SharedPreferences prefs = getSharedPreferences("X", MODE_PRIVATE); 
            activityClass
= Class.forName( 
                prefs
.getString("lastActivity", Activity1.class.getName())); 
       
} catch(ClassNotFoundException ex) { 
            activityClass
= Activity1.class; 
       
} 
 
        startActivity
(new Intent(this, activityClass)); 
   
} 
} 
上面的方法通常保存一个activity以便下次发动

2.

@Override 
public void onSaveInstanceState(Bundle savedInstanceState) { 
 
// Save UI state changes to the savedInstanceState. 
 
// This bundle will be passed to onCreate if the process is 
 
// killed and restarted. 
  savedInstanceState
.putBoolean("MyBoolean", true); 
  savedInstanceState
.putDouble("myDouble", 1.9); 
  savedInstanceState
.putInt("MyInt", 1); 
  savedInstanceState
.putString("MyString", "Welcome back to Android"); 
 
// etc. 
 
super.onSaveInstanceState(savedInstanceState); 
} 
@Override 
public void onRestoreInstanceState(Bundle savedInstanceState) { 
 
super.onRestoreInstanceState(savedInstanceState); 
 
// Restore UI state from the savedInstanceState. 
 
// This bundle has also been passed to onCreate. 
 
boolean myBoolean = savedInstanceState.getBoolean("MyBoolean"); 
 
double myDouble = savedInstanceState.getDouble("myDouble"); 
 
int myInt = savedInstanceState.getInt("MyInt"); 
 
String myString = savedInstanceState.getString("MyString"); 
} 

这个上次已经记过了用来旋转保存状态最好

分享到:
评论

相关推荐

    Android SharedPreferences存储的正确写法

    即便是Android小白都知道的SharedPreferences的用法,这是保存数据最简便的方法,但是不处理好的话后期维护将是一个巨大的坑。那么该如何处理好SharedPreferences才方便维护呢。先从它的特点开始入手吧。 通过...

    保存用户名密码

    保存用户名密码小实例 SharedPreferences sp = getSharedPreferences(PREFS_NAME, 0);

    Android项目设计与开发:SharedPreferences.ppt

    实验 如何读SharedPreferences记录数据 和写数据类似,需要getSharedPreferences返回应用中的数据对象,但不需要返回editor。 通过getString getInt等方法获得指定数据,如果数据不存在,方法会提供默认值。 谢谢 ...

     Android的SharedPreferences的使用

    SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/&lt;包名&gt;/shared_prefs目录下。SharedPreferences对象本身只能...

    Android SharedPreferences四种操作模式使用详解

    获取SharedPreferences的两种方式: 1 调用Context对象的getSharedPreferences()方法 2 调用Activity对象的getPreferences()方法 两种方式的区别: 调用Context对象的getSharedPreferences()方法获得的...

    SharedPreferences实例

    android SharedPreferences实例

    浅析Android手机卫士关闭自动更新

    保存数据的四种方式,网络,广播提供者,SharedPreferences,数据库 获取SharedPreferences对象,通过getSharedPreferences()方法,参数:名称,模式 例如config,MODE_PRIVATE 调用SharedPreferences对象的edit()...

    详解Android四种存储方式

    在Android程序开发中我们经常遇到四种数据存储方式,每种存储方式都各有不同;以下我分别列举了Android开发中的不同存储方式的特点 一,Preferences Preferences是一个较轻量级的存储数据的方法,具体使用方法: ...

    SharedPrefsUtil.java App存储数据工具类

    Editor sp = context.getSharedPreferences(SETTING, Context.MODE_PRIVATE) .edit(); sp.putLong(key, value); sp.commit(); } /** * 存储数据(Int) * * @param context * @param key * @...

    Android 优化之存储优化的实现

    当 SharedPreferences 文件还没有被加载到内存时,调用 getSharedPreferences 方法会初始化文件并读入内存,这容易导致 耗时更长。 Editor 的 commit 或者 apply 方法的区别在于同步写入和异步 写入,以及是否需要...

    实验10-Android数据存储和IO.doc

    四、实验用的仪器和材料: PC+Eclipse+ADT 五、实验的步骤和方法: 1、读写其他应用程序SharedPreferences。 读写其他应用程序的SharedPreferences,步骤如下: 创建应用App1 和应用App2,App2尝试读取App1的...

    kotlin-shared-preferences

    共享首选项用于访问和修改Context.getSharedPreferences(String,int)返回的首选项数据的接口。 对于任何特定的首选项集,所有客户端都共享一个此类的单个实例。 对首选项的修改必须经过一个Editor对象,以确保首...

    Android程序技术:个人学习助手项目注册功能的实现.pptx

    Android 程序技术 ...PART 1 1.1 SharedPreferences的使用 ...SharedPreferences的使用 The use of the SharedPreferences ...SharedPreferences sp = getSharedPreferences ("data",MODE_PRIVATE); String data = sp.get

    安卓多语言

    安卓国际化,在安卓应用内切换语言。 如果要保存设置后的语言,使用getSharedPreferences保存,在启动应用的时候,再读取即可。

    Android SharedPreferences实现记住密码和自动登录界面

    SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置参数,它是采用xml文件存放数据的,文件存放在”/data/data&lt;package&gt;/shared_prefs”目录下。 SharedPreferences的用法: 由于...

    Android数据共享 sharedPreferences 的使用方法

    Android数据共享 sharedPreferences 的使用方法 Android 中通过 sharedPreferences 来持久化存储数据并进行共享 在 Activity 或存在 Context 环境中即可使用 context.getSharedPreferences(name, Context.MODE_...

    Android轻松实现多语言的方法示例

    2.首先在onCreate方法中调用此方法查看上一次保存的是什么语言 public void setLanguage() { //根据读取到存放在sp里面的数据 进行设置 Configuration configuration = getResources().getConfiguration(); ...

    SharePreferences:SharePreferences存储

    SharePreferences SharePreferences存储 2021-4-5 将数据存储到SharedPreferences中 调用SharedPreferences对象的...TextUtils.isEmpty()可以用来判断两个空值,字符串等于null或者等于空字符串时,这个方法都会返回

    Android Studio sharePreferences 存取键值对示例

    分别使用getPreferences()和getSharedPreferences()建立xml文件,UI上输入数据类型、键、值之后点击保存即可。 可以使用adb查看data/data/&lt;package-name&gt;/shared_prefs/路径下生成的xml,也可以通过输入键名点击Read...

    ligin_日记本.zip

    SharedPreferences sp = this.getSharedPreferences("pwd", Context.MODE_PRIVATE);

Global site tag (gtag.js) - Google Analytics