在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", "");
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories