使用SharePreference保存用户输入的内容

以下是SharedPreferences的一些特性:

1.轻量级存储

2.无法进行共享

3.多半用于存储用户的临时数据


思路:主要是在程序退出之前保存用户输入的数据和在程序开始时加载从上一次保存下来的数据,运用SharedPreferences保存数据数,以xml文件的形式保存在data/data/packagename/shared_prefs/××××.xml 

以下是关键代码:

/*

*重写onStart(),将在开始时将上一次保存下来的数据显示到相应的EditText里

*/

@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
loadSharedPreferences();


}

/*

*程序退出前,保存数据

*/
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();

//
saveSharedPreferences();
}
    

//保存数据函数
public void saveSharedPreferences() {

SharedPreferences sp = getSharedPreferences(PREFERENCES_NAME, MODE);
SharedPreferences.Editor editor = sp.edit();

String num1 = t1.getText().toString();

//获得被除数
String num2 = t2.getText().toString();

String num3 = t3.getText().toString();

//将除数和被除数转换为int型并进行计算
int n1 = Integer.parseInt(num1);
int n2 = Integer.parseInt(num2);
Float  n3 = Float.parseFloat(num3);

editor.putInt("n1", n1);
editor.putInt("n2", n2);
editor.putFloat("n3", n3);
editor.putBoolean("is_First", is_First);//这里加一个is_First变量是因为防止在下一次加载数据时EditText框里面出现系统要求的默认值
editor.commit();

}//end func

public void loadSharedPreferences() {
SharedPreferences sp = getSharedPreferences(PREFERENCES_NAME, MODE);

boolean a = sp.getBoolean("is_First", true);//如果变量is_First是假真的话,就可以获取上一次保存的内容,并将内容显示在相应的EditText框里

if ( !a ) {
int n1 = sp.getInt("n1", 0);
int n2 = sp.getInt("n2",0);
Float n3 = sp.getFloat("n3", (float) 0.0);

t1.setText("" + n1);
t2.setText("" + n2);
t3.setText("" + n3);

}

}//end func

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值