在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", "");