官方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;}





更多相关文章

  1. 一句话锁定MySQL数据占用元凶
  2. android onSaveInstanceState方法
  3. Android(安卓)简单存储 SharedPreferencesUtils
  4. Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
  5. 【转】【Android】获取手机中已安装apk文件信息(PackageInfo、Re
  6. 最近项目里碰上了饼图,顺便整理了下几种Android饼图,以作参考
  7. Android数据流详解
  8. Android使用ImageLoader异步加载网络图片(二)结合listview
  9. Android中ContentProvider和Uri用法!!

随机推荐

  1. android canvas drawText \r\n 换行
  2. 如何动态的设置Relative Layout中按钮的l
  3. Android中的小技巧
  4. Android之解决多语言适配部分TextView内
  5. 程序员挑战高薪,你必须会的十大面试题《一
  6. adb命令执行java代码
  7. android 自定义图形之层叠样式 [layer-li
  8. android Api Demos
  9. location of the android sdk has not be
  10. 如何用Android(安卓)源码生成APK签名文件