您的位置:首页 > 移动开发 > Android开发

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

2016-06-11 16:56 387 查看

在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", "");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息