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);

			}
		});
	}

}
时间: 2024-11-06 09:34:27

SharedPreferences存储详解的相关文章

MongoDB系列教程(八):GridFS存储详解

MongoDB系列教程(八):GridFS存储详解 GridFS简介 mongoDB的文档以BSON格式存储,支持二进制的数据类型,当我们把二进制格式的数据直接保存到mongoDB的文档中.但是当文件太大时,例如图片和视频等文件,每个文档的长度是有限的,于是mongoDb会提供了一种处理大文件的规范--GridFS. GridFS实现原理 在GridFS数据库中,默认使用fs.chunks 和fs.files来存储文件,其中fs.files集合存放文件的信息,fs.chunks存放文件的数据,一

实战NFS文件共享存储详解

实战NFS文件共享存储详解 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.com 目录 NFS简介 NFS工作流程 使用NFS的好处 NFS应用环境 NFS服务器安装 NFS客户端配置 实例:创建web共享 NFS简介 NFS(Network File System)即网络文件系统,Sun公司开发,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本

Hbase存储详解

Hbase存储详解 started by chad walters and jim 2006.11 G release paper on BigTable 2007.2 inital Hbase prototype created as Hadoop contrib 2007.10 First useable Hbase 2008.1 Hadoop become Apache top-level project and Hbase becomes subproject 2008.10 Hbase

DELL EqualLogic PS6100存储详解及数据恢复解决办法

DELL EqualLogic PS6100采用虚拟ISCSI SAN阵列,为远程或分支办公室.部门和中小企业存储部署带来企业级功能.智能化.自动化和可靠性,支持VMware.Solaris.Linux.Mac.HPux.AIX,支持所有带有业界标准iscsi initiator的操作系统,同时提供全套企业级数据保护和管理功能.可靠的性能.可扩展性和容错功能,是中型企业级存储的起点产品. DELL EqualLogic PS6100详解: 上层应用基础配置: 可以通过连接串口先对存储进行初始化.

html5的web存储详解

以前我们在本地存储数据都是用document.cookie来存储的,但是由于其的存储大小只有4K左右,解析也很复杂,给开发带来了诸多的不便.不过现在html5出了web的存储,弥补了cookie的不足,而且开放起来也是相当的方便 web存储分两类 sessionStorage 容量大小约为5M左右,该方式的生命周期为关闭浏览器窗口为止 localStorage 容量大小约为20M左右, 存储的数据不会随着用户浏览时会话过期而过期,但会应用户的请求而删除.浏览器也因为存储空间的限制或安全原因删除它

SharedPreferences使用详解

在android中有五种存储数据的方式 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 在做手机配置项数据的存储时,我们一般使用第一种方式:   我们可以有两种获取SharedPreferences的方式: 1 调用Context对象的getSharedPreferences()方法: 调用Context对象的getSharedPreferences()方法获得的SharedP

关于 HTML5本地存储详解 (转载学习)

HTML5 storage提供了一种方式让网站能够把信息存储到你本地的计算机上,并再以后需要的时候进行获取.这个概念和cookie相似,区别是它是为了更大容量存储设计的. HTML5storage提供了一种方式让网站能够把信息存储到你本地的计算机上,并再以后需要的时候进行获取.这个概念和cookie相似,区别是它是为了更大容量存储设计的.Cookie的大小是受限的,并且每次你请求一个新的页面的时候cookie都会被发送过去.HTML5的storage是存储在你的计算机上,网站在页面加载完毕后可以

Android中SharedPreferences函数详解

Android平台提供了一个SharedPreferences类,它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置参数,比如boolean,int,float,long,String等数据.使用SharedPreferences保存数据,其实质是采用了xml文件存放数据,路径为:/data/data/<package name>/shared_prefs. 获取SharedPreferences的两种方式: (1)调用Context对象的getSharedPreferenc

Redis学习之海量小数据的存储详解

最近有个需求,需要存储海量小数据,大概几十亿的规模,每个数据是6位的数字加一个32位的md5(16进制显示).因为数据很小,数据总量并不算大,我们计划根据md5做分片,存储到多个redis中,每个redis大概存储1亿的数据,纯数据大概 (6+32)*10^9 = 3.8G ,这是redis数据库很擅长存的量. 1 快速加载数据到redis redis已经非常快了,高达 10w/s ,但面对亿级别的数据,也需要将近20分钟.如果使用pipeline的话,redis还可以更快,达到 40w/s ,