Android数据存储之SharedPreferences

SharedPreferences对象初始化

SharedPreferences mSharedPreferences = getSharedPreferences(getPackageName(),MODE_PRIVATE);
  • 第一个参数是创建的文件名,可以随便命名,这里是直接获取应用包名
  • 第二个参数是操作权限 MODE_PRIVATE表示私有的
  • 读取储数据可以直接调用getXxx即可,写数据的时候需要先获取编辑对象,然后执行putXxx,最后需要commit提交。

String类型数据的存取

存储

 SharedPreferences.Editor mEdit = mSharedPreferences.edit();     mEdit.putString("StringData", "Hello String");    mEdit.commit();

读取

   String stringData = mSharedPreferences.getString("StringData", "Default");

boolean类型数据的存取

存储

 SharedPreferences.Editor mEdit = mSharedPreferences.edit(); mEdit.putBoolean("booleanData", true); mEdit.commit();

读取

    boolean booleanData = mSharedPreferences.getBoolean("booleanData", false);

Float类型数据的存取

存储

    SharedPreferences.Editor mEdit = mSharedPreferences.edit();    mEdit.putFloat("floatData", 1.0f);    mEdit.commit();

读取

    Float floatData = mSharedPreferences.getFloat("floatData", 0.0f);

int类型数据的存取

存储

    SharedPreferences.Editor mEdit = mSharedPreferences.edit();    mEdit.putInt("intData", 1);    mEdit.commit();

读取

    int intData = mSharedPreferences.getInt("intData", 0);

long类型数据的存取

存储

    SharedPreferences.Editor mEdit = mSharedPreferences.edit();    mEdit.putLong("longData",1L);    mEdit.commit();

读取

    long longData = mSharedPreferences.getLong("longData", 0);

工具类

  • 封装好的工具类,明白SharedPreferences的存储原理以后,可以直接拿过来用,很方便。
package ktalk.kong.qingwei.sharedprifence.utils;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;/** * Created by qingwei on 2015/7/20. */public class SPUtils {private static SPUtils mSPUtils;private SharedPreferences mSharedPreferences;private Editor mEdit;private SPUtils(Context context) {    mSharedPreferences = context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE);    mEdit = mSharedPreferences.edit();    }    public static SPUtils getInstance(Context context) {    if (null == mSPUtils) {    mSPUtils = new SPUtils(context);    }    return mSPUtils;    }    /** * String * *********************************************************************** */    public void putString(String key, String value) {    mEdit.putString(key, value).commit();    }    public String getString(String key, String value) {    return mSharedPreferences.getString(key, value);    }    /** * boolean * *********************************************************************** */    public void putBoolean(String key, boolean value) {    mEdit.putBoolean(key, value).commit();    }    public boolean getBoolean(String key, boolean value) {    return mSharedPreferences.getBoolean(key, value);    }    /** * float * *********************************************************************** */    public void putFloat(String key, float value) {    mEdit.putFloat(key, value).commit();    }    public Float getFloat(String key, float value) {    return mSharedPreferences.getFloat(key, value);    }    /** * int * *********************************************************************** */    public void putInt(String key, int value) {    mEdit.putInt(key, value).commit();    }    public int getInt(String key, int value) {    return mSharedPreferences.getInt(key, value);    }    /** * long * *********************************************************************** */    public void putLong(String key, long value) {    mEdit.putLong(key, value).commit();    }    public long getLong(String key, long value) {    return mSharedPreferences.getLong(key, value);    }}
  • 用法
SPUtils.getInstance(this).putString("stringData", "Hello String");String stringData = SPUtils.getInstance(this).getString("stringData", "default")

更多相关文章

  1. 【Android(安卓)开发教程】自定义ContentProvider
  2. Android(安卓)实现长按弹出PopupMenu 菜单栏
  3. Android(安卓)-- Context
  4. RecyclerView的简单使用
  5. Android(安卓)Call Log and SMS Delete 电话记录和短信删除
  6. android 多线程实现方式、并发与同步学习总结
  7. SQlite数据库(4)---DAO(data access object)数据访问对象
  8. 服务器端和客户端的上传代码
  9. Android使用Intent传值注意(传递Bean对象)

随机推荐

  1. Google工程师解析Android系统架构
  2. Android那些疑惑(1)-Application中setThe
  3. android 休眠唤醒机制分析(二) — early_
  4. Android(安卓)am 指令的使用
  5. Android(安卓)路由框架ARouter最佳实践
  6. Evernote Android(安卓)版更新,给您超便捷
  7. 【Android教程】Android(安卓)Studio找不
  8. Android滚动多TAB悬浮头效果
  9. [原创]Android中LocationManager的简单使
  10. Android学习:资源管理