【Android】数据存储之Sharepreference


官方API对于Sharepreference是这样描述的:


这个方法一般是为了存储具有Key-Value特征的数据。


我们可以从一个上下文对象中获取共享应用,他提供一个框架在保存和获取一些K-V的持久化数据。

具体步骤如下:

1.获取一个Sharepreference:

SharedPreferences sharedPreferences = context.getSharedPreferences(
				"userinfo", Context.MODE_PRIVATE);


2.获取一个编辑器:

SharedPreferences.Editor editor =   sharedPreferences.edit();

3.通过编辑器放入数据:

editor.putString("name", name);
editor.putString("pswd", pswd);

4.最后需要提交

editor.commit(); 


一个完整的代码如下:

public boolean saveMessage(String name, String pswd) {
		boolean flag = false;
		SharedPreferences sharedPreferences = context.getSharedPreferences(
				"userinfo", Context.MODE_PRIVATE);
		//对数据进行编辑 
		SharedPreferences.Editor editor =   sharedPreferences.edit();
		editor.putString("name", name);
		editor.putString("pswd", pswd);
		flag = editor.commit();  //将数据持久化到存储介质
		return flag;
	}

如果是读数据,那么需要Map类型来存储:

1.生成一个HashMap对象:

Map<String,Object> map = new HashMap<String,Object>();

2.获取共享引用对象:

SharedPreferences sharedPreferences  =context.getSharedPreferences("userinfo", Context.MODE_PRIVATE);

3.取出数据并放入Map中:

String name = sharedPreferences.getString("name", null);
		String pswd = sharedPreferences.getString("pswd", null);
		map.put("name",name);
		map.put("pswd", pswd);

完整代码如下:

public Map<String,Object> getMessage(){
		Map<String,Object> map = new HashMap<String,Object>();
		SharedPreferences sharedPreferences  =context.getSharedPreferences("userinfo", Context.MODE_PRIVATE);
		String name = sharedPreferences.getString("name", null);
		String pswd = sharedPreferences.getString("pswd", null);
		map.put("name",name);
		map.put("pswd", pswd);
		return map;
	}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值