在Android中使用SharedPreferences存储数据以实现数据共享

在Android中,我们可以使用SharedPreferences来保存数据,以实现数据的共享。

(以一个用户登录为例)

简介:

首先我们需要了解一下SharedPreferences类,SharedPreferences是一个轻量级的存储类,使用SharedPreferences保存数据通常是讲数据保存在xml文件,而xml文件通常保存位置在/data/data/<项目包名>/xx.xml。


1.获取SharedPreferences对象

SharedPreferences sharedPreferences=
					getSharedPreferences("userlogin", Activity.MODE_PRIVATE);
			

通过以上获取到SharedPreferences对象,userlogin是我用来存储用户登录成功时的用户名的,即将登陆成功的用户名存储到userlogin.xml中,后续页面有需要获取当前登录用户的用户名时,而已通过使用SharedPreferences读取userlogin.xml文件即可。

注意:在获取对象时,在getSharedPreferences方法中,xml名字只需要输入文件名即可,不需要在加“.xml”,SharedPreferences会默认替你加上“.xml”。

上述是在Activity中获取SharedPreferences对象,如果是fragment中,则需要使用以下:
SharedPreferences sharedPreferences=getActivity().getSharedPreferences("userlogin", Context.MODE_PRIVATE);
		

2.写入数据前需要获取Editor对象

SharedPreferences.Editor editor=sharedPreferences.edit();
通过使用sharedpreferences对象调用edit()方法来获取Editor对象。

3.写入数据

利用editor对象写入数据,sharedpreferences在xml文件中保存是以键值对的形式保存数据,如下:
<span style="white-space:pre">	</span>editor.putString("loginname", username);
	editor.commit();

putString方法第一个参数是存储的数据的key,第二个参数是要存储的数据,当然我这里是存储string类型的数据,所以使用的putString,以此类推,在put之后需要再commit提交一下。

4.读取数据

读取数据之前同样需要先获取sharedpreferences对象,参照前面,不再赘述。在获取sharedpreferences对象后,如下:

loginedname=sharedPreferences.getString("loginname", "");

同样是根据键值对来获取数据,第一个参数是要获取的数据的key,第二个参数是默认值,默认为“”。


5.完整的读取和写入数据

写入:

SharedPreferences sharedPreferences=
					getSharedPreferences("userlogin", Activity.MODE_PRIVATE);
			SharedPreferences.Editor editor=sharedPreferences.edit();
			editor.putString("loginname", username);
			editor.commit();
读取:

SharedPreferences sharedPreferences=getActivity().getSharedPreferences("userlogin", Context.MODE_PRIVATE);
		loginedname=sharedPreferences.getString("loginname", "");




猜你喜欢

转载自blog.csdn.net/wetsion/article/details/51636950
今日推荐