`

android中的状态保存

阅读更多
package com.zzl.call;

import android.app.Activity;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.widget.Toast;
/**
 * Activity状态的保存
 * 
 * 
 * 第一,在onSaveInstanceState函数中进行数据的保存
 * 这个函数只有在Activity销毁的时候才会被调用,按下home键、back键不会调用此函数。
 * 在onCreate函数中获取保存的数据。
 * 在2.0之后又出现了一个函数叫:onRestoreInstanceState获取保存的数据,
 * 这个函数在onCreate函数之后调用。
 * 如果onCreate函数中不进行try的话会报如下异常。
 * java.lang.NullPointerException

 *
 *
 *第二,在onPause函数中进行数据的保存,在onResume中取出数据。
 *此时就要用到 SharedPreferences 。
 */
public class MainActivity extends Activity {
	
	private SharedPreferences sharedPreferences;   
    private SharedPreferences.Editor editor;   

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        try {
        	String str = savedInstanceState.getString("key");
		} catch (Exception e) {
			e.printStackTrace();
		}
        
        
        
        sharedPreferences = this.getSharedPreferences("test",MODE_WORLD_READABLE);   
        editor = sharedPreferences.edit();  
        
    }
    @Override
    protected void onResume() {
    	//第二个参数的含义是如果获取不到数据,就以这个作为返回值
    	String name = sharedPreferences.getString("name", "阿弥陀佛");   
    	Toast.makeText(this, name, 0).show();
    	super.onResume();
    }
    
    @Override
    protected void onSaveInstanceState(Bundle outState) {
    	if(outState != null){
    		outState.putString("key", "value");
    	}
    	super.onSaveInstanceState(outState);
    }
    
    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
    	super.onRestoreInstanceState(savedInstanceState);
    }
    
    @Override
    protected void onPause() {
    	editor.putString("name", "无敌小神胖");   
        // 一定要提交   
        editor.commit();   

    	super.onPause();
    }
    
    
}
分享到:
评论

相关推荐

    android activity状态保存

    通过以上步骤,我们可以实现类似网易贴吧的Activity状态保存和恢复,确保用户在离开或设备重启后能无缝地继续之前的操作。这不仅提高了用户体验,也是Android开发中的一项基本技能。在实际项目中,可以根据需求调整...

    Android状态保存

    ### Android状态保存机制详解 #### 一、引言 Android应用程序在运行过程中可能会因为各种原因暂时停止或被系统销毁,为了提供良好的用户体验,开发者需要掌握如何有效地保存与恢复Activity的状态。本文将详细介绍...

    Android-一个简单的程序用来测试Android应用状态保存和恢复

    在Android开发中,应用的状态保存和恢复是一个至关重要的概念,特别是在用户离开应用或者系统需要回收内存时。这个程序示例,"Android-一个简单的程序用来测试Android应用状态保存和恢复",旨在帮助开发者理解如何...

    android fragment 保存状态

    Fragment的生命周期中,有两个关键点与状态保存密切相关:`onSaveInstanceState()` 和 `onCreateView()`。当系统准备销毁一个Fragment时,会调用`onSaveInstanceState(Bundle outState)`方法,让你有机会保存...

    android FragmentActivity 保存fargment状态

    FragmentActivity在处理多个Fragment的交互、管理以及状态保存方面提供了便利。本篇将深入探讨如何在FragmentActivity中实现Fragment状态的保存,特别是针对ListView滚动位置的保存。 一、Fragment生命周期与状态...

    Android状态保存、用户偏好设置保存、通过universal_image_loder网络加载图片并做图片缓存处理Demo

    Android状态保存、用户偏好设置保存、通过universal_image_loder网络加载图片并做图片缓存处理Demo 1、将universal-image-loder...jar包放入项目的libs文件里,并引入。 2、将MyApplication.java类放入项目,具体...

    Android-Lyra简化Android组件状态的保存和恢复

    在Android应用开发中,组件(如Activity、Fragment)的状态保存和恢复是一个重要的功能,它确保了用户界面在设备旋转、应用程序被系统杀死后重启时能够恢复到之前的状态。"Android-Lyra"是一个专为简化这一过程而...

    Android客户端自动保存账号密码和自动登入源码

    在Android应用开发中,实现客户端自动保存账号密码和自动登录是一项常见的需求,它能提供便捷的用户体验,同时也有助于提高用户留存率。本源码实现了这一功能,并且已验证适用于Android 4.2版本。下面我们将深入探讨...

    Android编程设计模式之状态模式详解

    状态模式在Android编程中是一种非常重要的设计模式,它主要用于处理对象在不同状态下的不同行为。状态模式的核心思想是将每一种状态封装成一个类,使得对象可以在运行时根据其内部状态的变化来改变其行为。 一、...

    android ViewModel保存数据使用

    虽然Android提供了`savedInstanceState`来保存Activity的状态,但它仅限于基本类型和Parcelable/Serializable对象,且存在局限性。ViewModel则更适合保存复杂数据结构,如网络请求的结果、数据库查询结果等。 总结...

    Android ToggleButton的状态退出后可保存

    ToggleButton状态的保存,即使程序退出了,下次启动的时候依旧是ToggButton上次选定的状态。本程序适合有一定的编程基础的爱好者学习,用到了SharedPreferences模块,实现数据的保存和读取

    Android ShaerdPreferences保存bean以及任意类型

    在Android开发中,SharedPreferences是一个非常重要的组件,用于存储应用程序中的轻量级数据,如用户设置、状态信息等。它提供了一种键值对的存储方式,数据类型包括基本的String、int、boolean、float和long。然而...

    FragmentTabHost的使用 (状态保存)

    1. 在使用FragmentTabHost时,确保你已经导入了AndroidX库,而不是Android Support库,因为旧版的Support库中的FragmentTabHost不支持状态保存。 2. 当FragmentTabHost包含的Fragment数量较大时,考虑使用ViewPager...

    android wifi连接打印机并获取打印机状态

    在Android平台上实现无线Wi-Fi连接打印机并获取打印机状态是一项实用且技术性强的任务。本文将深入探讨这个主题,基于提供的博客链接以及"KitchenPrintDemo1"这个项目文件名,我们可以推测这是一个示例应用,用于...

    调用Android摄像头并保存

    在Android平台上,调用摄像头并保存照片是常见的功能,尤其对于开发涉及图像处理的应用来说更是必不可少。以下将详细讲解如何实现这一过程。 首先,我们需要创建一个新的`Activity`,在这个例子中,我们创建了一个...

    android原生登录 +webview 记住登录状态

    所以往往需要将在native方法...这种情况在Android开发中比较常见,因为Android不会自动同步cookie到WebView。做iOS开发则不用担心这个问题,因为iOS内部已经实现了cookie同步.本文就是一个小的事例,从登录到同步cookie

    Lyra,一个可以轻松保存和恢复android组件状态的库。.zip

    Lyra是一个专为此目的设计的开源库,它简化了Android应用中Activity、Fragment和其他组件的状态保存与恢复过程。虽然这个存储库已被存档且不再进行进一步的发展,但其理念和实现方式仍对开发者具有一定的参考价值。 ...

    Android异常日志保存

    在Android应用开发中,捕获和处理异常是至关重要的,因为这有助于我们了解应用程序的运行状态,及时发现并修复潜在的问题。"Android异常日志保存"这个Demo提供了一个实用的方法,将应用程序运行时的错误日志保存到...

    Android 保存List数据(SharedPreferences)

    在Android开发中,数据存储是不可或缺的一部分,尤其是在处理用户数据或者应用状态时。本文将深入探讨如何使用SharedPreferences来保存一个List类型的数据。SharedPreferences通常用于存储轻量级的配置信息,如用户...

Global site tag (gtag.js) - Google Analytics