SharedPreferences存储详解

将数据存储到SharedPreferences中:

getSharedPreferences(文件名, 文件的操作模式);

MODE_PRIVATE:只有当前的应用程序才可以对这个SharedPreferences文件进行读写

MODE_MULTI_PROCESS:一般是用于会有多个进程中对同一个SharedPreferences文件进行读写的情况

得到SharedPreferences对象后,开始向SharedPreferences文件中存储数据,主要分为三步实现:

1.      调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象.

2.      像SharedPreferences.Editor对象中添加数据,比如添加一个布尔型数据就使用putBoolean方法,添加一个字符串则使用putString()方法,以此类推.

3.      调用commit()方法将添加的数据提交,从而完成数据存储操作

通过getSharedPreferences()方法指定SharedPreferences的文件名为data,并得到了SharedPreferences.Editor对象

向这个对象选中添加不同类型的数据

调用commit()方法进行提交

从SharedPreferences中读取数据:

SharedPreferences对象中提供了一系列的get方法用于对存储的数据进行读取,每种get方法都对应了SharedPreferences.Editor中的一种put方法,比如读取一个布尔型数据就使用getBoolean()方法,读取一个字符串就使用getString()方法.这些get方法都接收两参数,第一个参数是键,传入存储数据时时使用的键就可以得到相应的值了,第二个参数是默认值,即表示当传入的键找不到对应的值时,会以什么样的默认值进行返回.

package com.jia.sharedpreferencestest;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
	private Button saveData;
	private Button restoreData;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		saveData = (Button) findViewById(R.id.save_data);
		restoreData = (Button) findViewById(R.id.restore_data);
		saveData.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				SharedPreferences.Editor editor = getSharedPreferences("data",
						MODE_PRIVATE).edit();// 通过getSharedPreferences()方法指定SharedPreferences的文件名为data,并得到了SharedPreferences.Editor对象
				editor.putString("name", "yaojiawei");// 向这个对象选中添加不同类型的数据
				editor.putInt("age", 26);
				editor.putBoolean("married", false);
				editor.commit();// 调用commit()方法进行提交
			}
		});
		restoreData.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				SharedPreferences pref = getSharedPreferences("data",
						MODE_PRIVATE);// 通过getSharedPreferences()方法得到了SharedPreferences对象
				String name = pref.getString("name", "");
				int age = pref.getInt("age", 0);
				boolean married = pref.getBoolean("married", false);
				Log.d("jia", "name------>" + name);
				Log.d("jia", "age------->" + age);
				Log.d("jia", "married-------->" + married);

			}
		});
	}

}


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值