`
wang_peng1
  • 浏览: 3964966 次
  • 性别: 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"); 
} 

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

分享到:
评论

相关推荐

    SharedPreferences实例

    `SharedPreferences` 提供了一种简单的方法来保存和读取用户设置或者应用的状态。它的操作通常分为两个部分:编辑(Edit)和提交(Commit)。在编辑阶段,我们可以添加、修改或删除键值对,然后通过调用`commit()`...

    Android ShaerdPreferences保存bean以及任意类型

    本文将详细讲解如何使用SharedPreferences来实现这一目标,并提供两种不同的实现方法:Java方法和FastJson库。 1. Java方法实现: 在不借助第三方库的情况下,我们可以手动序列化和反序列化Java Bean对象。首先,...

    移动应用开发:保存全局参数 .pptx

    为了保存这些参数,我们可以使用两种方式:SharedPreference和用户自定义Application对象。 一、使用SharedPreference保存参数 SharedPreference是Android系统中轻量级存储数据的一种方式,操作简便快捷。它的本质...

    android 保存配置文件 SharedPreferences

    在Android开发中,SharedPreferences是系统提供的一种轻量级的数据存储方式,主要用于应用程序中保存简单的配置信息,如用户设置、登录状态等。它采用键值对(key-value pairs)的形式存储数据,支持基本类型如字符...

    SharePreferences保存用用程序状态

    1. **获取`SharedPreferences`实例**:通常在`Activity`中,可以通过`getSharedPreferences()`方法,传入一个唯一的名称(通常为应用包名)和模式(默认`MODE_PRIVATE`,表示仅应用本身可访问)来获取`...

    文件保存方式

    本文将详细探讨使用`sd`、`sp`和`file`这三种方式来保存数据的方法和应用场景。 首先,我们来看`sd`,即Secure Digital (SD) 卡,它是移动设备中常用的外部存储器。在Android系统中,通过`Environment....

    Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储)

    在Android应用开发中,数据保存是至关重要的,它能让应用在不同状态或重启后依然保持用户的设置和数据。本教程将详细介绍Android中的三种主要数据存储方式:SharedPreferences存储、内部文件存储以及数据库存储。 1...

    Android保存数据的四种方法[借鉴].pdf

    以下将详细介绍Android保存数据的四种常见方法:Preferences、Files、Databases和Network。 1. Preferences: Preferences通常用于存储轻量级的配置数据,如应用的设置参数。它们类似于ini文件,适合作为保存用户...

    Android官方开发教程中文版(六).pdf

    要获取SharedPreferences的句柄,有两种主要方法:getSharedPreferences()和getPreferences()。getSharedPreferences()适用于从多个共享参数文件中选择一个,需要传入文件的名称和访问模式。getPreferences()则用于...

    Login_activity

    SharedPreferences提供了一种键值对形式的存储方式,用于保存应用程序中的轻量级数据,如用户偏好设置、登录状态等。它的优点在于操作简单,读写速度快,适合临时或小量数据的存储。 在`Login_activity`中,可能用...

    安卓Android源码——(游戏保存SharedPreference).rar

    首先,我们需要创建一个SharedPreferences对象,这通常通过`getSharedPreferences()`方法实现,需要传入一个首选项的名称和操作模式(如读写模式)。例如: ```java SharedPreferences sharedPreferences = ...

    Android数据保存

    通过`getSharedPreferences()`方法获取SharedPreferences对象,然后使用`edit()`、`putXXX()`和`commit()`或`apply()`来修改和保存数据。读取数据则用`getString()`, `getInt()`, `getBoolean()`等方法。 4. **...

    Android应用源码之(游戏保存之SharedPreference).zip

    `SharedPreferences`提供了两种操作方式:异步的`edit()`和`commit()`方法,以及同步的`apply()`方法。 **使用步骤** 1. **获取SharedPreference实例**:通常在`Activity`或`Fragment`中,可以通过`getPreferences...

    保存登录的信息

    标题“保存登录的信息”指的是利用特定的技术或方法来持久化存储用户的登录状态,以便于用户在下次打开应用时无需重新输入账号和密码。描述中提到“已经写好封装成为一个类”,这意味着开发者已经创建了一个可重用的...

    Android游戏保存之SharedPreference使用Demo源码.rar

    获取SharedPreferences对象有两种方式:通过`getPreferences()`方法(适用于Activity)或`getSharedPreferences()`方法(适用于Context)。示例代码如下: ```java SharedPreferences sharedPreferences = ...

    Android安卓经典设计学习例程源代码-SharePreferencesSample.rar

    例如,在Activity的`onCreate()`方法中读取初始设置,在`onSaveInstanceState()`或`onPause()`中保存变化,以及在`onDestroy()`或`onStop()`时清理资源。 除了基本操作,还可以结合广播接收器监听SharedPreferences...

    SharedPreferences 保存多个用户名和密码

    在Android开发中,SharedPreferences是应用数据存储的一种简单方式,它主要用于保存轻量级的数据,如用户的偏好设置、登录状态等。在这个场景下,我们需要利用SharedPreferences来实现保存多个用户名和密码的功能,...

    sharedPreDemo_android_

    在实际应用中,考虑到数据一致性,我们常常会在`onPause()`或`onSaveInstanceState()`等生命周期方法中保存数据,在`onCreate()`或`onResume()`中恢复数据。这样可以确保即使应用被关闭或设备发生旋转,之前的状态也...

    Android使用token维持登陆状态的方法

    本篇文章将深入探讨如何在Android应用中使用token来保持用户的登录状态,并阐述token的基本概念、作用以及具体实现方法。 **什么是token** Token,即令牌,是一种用于身份验证的字符串。在用户成功登录后,服务器...

    android实战 保存QQ密码(android studio源程序工程)

    在Android平台上进行应用开发时,有时我们需要保存用户的登录凭证,比如QQ密码,以便用户下次打开应用时能够自动登录或快速登录。本项目“android实战 保存QQ密码”提供了一个使用Android Studio开发的基础案例,...

Global site tag (gtag.js) - Google Analytics