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();
}
}
分享到:
相关推荐
通过以上步骤,我们可以实现类似网易贴吧的Activity状态保存和恢复,确保用户在离开或设备重启后能无缝地继续之前的操作。这不仅提高了用户体验,也是Android开发中的一项基本技能。在实际项目中,可以根据需求调整...
### Android状态保存机制详解 #### 一、引言 Android应用程序在运行过程中可能会因为各种原因暂时停止或被系统销毁,为了提供良好的用户体验,开发者需要掌握如何有效地保存与恢复Activity的状态。本文将详细介绍...
在Android开发中,应用的状态保存和恢复是一个至关重要的概念,特别是在用户离开应用或者系统需要回收内存时。这个程序示例,"Android-一个简单的程序用来测试Android应用状态保存和恢复",旨在帮助开发者理解如何...
Fragment的生命周期中,有两个关键点与状态保存密切相关:`onSaveInstanceState()` 和 `onCreateView()`。当系统准备销毁一个Fragment时,会调用`onSaveInstanceState(Bundle outState)`方法,让你有机会保存...
FragmentActivity在处理多个Fragment的交互、管理以及状态保存方面提供了便利。本篇将深入探讨如何在FragmentActivity中实现Fragment状态的保存,特别是针对ListView滚动位置的保存。 一、Fragment生命周期与状态...
Android状态保存、用户偏好设置保存、通过universal_image_loder网络加载图片并做图片缓存处理Demo 1、将universal-image-loder...jar包放入项目的libs文件里,并引入。 2、将MyApplication.java类放入项目,具体...
在Android应用开发中,组件(如Activity、Fragment)的状态保存和恢复是一个重要的功能,它确保了用户界面在设备旋转、应用程序被系统杀死后重启时能够恢复到之前的状态。"Android-Lyra"是一个专为简化这一过程而...
在Android应用开发中,实现客户端自动保存账号密码和自动登录是一项常见的需求,它能提供便捷的用户体验,同时也有助于提高用户留存率。本源码实现了这一功能,并且已验证适用于Android 4.2版本。下面我们将深入探讨...
状态模式在Android编程中是一种非常重要的设计模式,它主要用于处理对象在不同状态下的不同行为。状态模式的核心思想是将每一种状态封装成一个类,使得对象可以在运行时根据其内部状态的变化来改变其行为。 一、...
虽然Android提供了`savedInstanceState`来保存Activity的状态,但它仅限于基本类型和Parcelable/Serializable对象,且存在局限性。ViewModel则更适合保存复杂数据结构,如网络请求的结果、数据库查询结果等。 总结...
ToggleButton状态的保存,即使程序退出了,下次启动的时候依旧是ToggButton上次选定的状态。本程序适合有一定的编程基础的爱好者学习,用到了SharedPreferences模块,实现数据的保存和读取
在Android开发中,SharedPreferences是一个非常重要的组件,用于存储应用程序中的轻量级数据,如用户设置、状态信息等。它提供了一种键值对的存储方式,数据类型包括基本的String、int、boolean、float和long。然而...
1. 在使用FragmentTabHost时,确保你已经导入了AndroidX库,而不是Android Support库,因为旧版的Support库中的FragmentTabHost不支持状态保存。 2. 当FragmentTabHost包含的Fragment数量较大时,考虑使用ViewPager...
在Android平台上实现无线Wi-Fi连接打印机并获取打印机状态是一项实用且技术性强的任务。本文将深入探讨这个主题,基于提供的博客链接以及"KitchenPrintDemo1"这个项目文件名,我们可以推测这是一个示例应用,用于...
在Android平台上,调用摄像头并保存照片是常见的功能,尤其对于开发涉及图像处理的应用来说更是必不可少。以下将详细讲解如何实现这一过程。 首先,我们需要创建一个新的`Activity`,在这个例子中,我们创建了一个...
所以往往需要将在native方法...这种情况在Android开发中比较常见,因为Android不会自动同步cookie到WebView。做iOS开发则不用担心这个问题,因为iOS内部已经实现了cookie同步.本文就是一个小的事例,从登录到同步cookie
Lyra是一个专为此目的设计的开源库,它简化了Android应用中Activity、Fragment和其他组件的状态保存与恢复过程。虽然这个存储库已被存档且不再进行进一步的发展,但其理念和实现方式仍对开发者具有一定的参考价值。 ...
在Android应用开发中,捕获和处理异常是至关重要的,因为这有助于我们了解应用程序的运行状态,及时发现并修复潜在的问题。"Android异常日志保存"这个Demo提供了一个实用的方法,将应用程序运行时的错误日志保存到...
在Android开发中,数据存储是不可或缺的一部分,尤其是在处理用户数据或者应用状态时。本文将深入探讨如何使用SharedPreferences来保存一个List类型的数据。SharedPreferences通常用于存储轻量级的配置信息,如用户...