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")

Android存储之SharedPreferences的更多相关文章

  1. Android数据存储方式--SharedPreferences

    Android数据存储方式有如下四种:SharedPreferences.存储到文件.SQLite数据库.内容提供者(Content provider).存储到网络服务器. 本文主要介绍一下Share ...

  2. Android应用开发SharedPreferences存储数据的使用方法

    Android应用开发SharedPreferences存储数据的使用方法 SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的 ...

  3. Android入门(九)文件存储与SharedPreferences存储

    原文链接:http://www.orlion.ga/578/ Android系统中主要提供了三种方式用于简单地实现数据持久化功能,即文件存储.SharedPreference存储以及数据库存储.当然, ...

  4. Android数据存储-通过SharedPreferences实现记住密码的操作

    在Android中登陆中,为了实现用户的方便,往往需要根据用户的需要进行记住密码的操作,所以,在Android数据存储中SharedPreferences恰恰可以实现这一点 下面,小编将带领大家通过S ...

  5. Android 数据存储之 SharedPreferences储存

    ------------------------------------------SharedPreferences存储--------------------------------------- ...

  6. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览

    Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (一) —— 总览   作为一个完成的应用程序,数据存储操作是必不可少的. ...

  7. android数据存储之SharedPreferences

    一.SharedPreferences简介      (1)SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activ ...

  8. Android数据存储三剑客——SharedPreferences、File、SQLite

    Android中常用的数据存储一般有三种方式:SharedPreferences.文件和SQLite数据库,用来保存需要长时间保存的数据.本文将通过几个具体的小实例来讲解这三种方式的具体实现. 数据存 ...

  9. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences

    除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data ...

随机推荐

  1. ●BZOJ 3126 [Usaco2013 Open]Photo

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3126 题解: 单调队列优化DP,神奇.. (好像某次考试考过,当时我用了差分约束+SPFA优 ...

  2. ●BZOJ 1233 [Usaco2009Open] 干草堆 tower

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1233 留坑.以后再来看看. (绝望,无奈,丧心...) (这个题的证明真的很诡异啊,看得我稀 ...

  3. 树莓派超声波测距+蜂鸣器(c语言)

    前边我们已经详细的讲解了树莓派控制超声波模块测距(http://www.cnblogs.com/yuemo/p/8888342.html)和超声波控制蜂鸣器模块发声(http://www.cnblog ...

  4. Vue2学习结合bootstrapTable遇到的问题

    Vue2学习 项目中在使用bootstrapTable的时候,在table里面会有操作结合vue使用过程中点击相应的操作不会起作用 解决办法 1.把事件绑定到父元素上即可,但要判断什么样的需要点击,用 ...

  5. Struts2 之 modelDriven & prepare 拦截器详解

    struts2 ModelDriven & Prepareable 拦截器 前面对于 Struts2 的开发环境的搭建.配置文件以及 Struts2 的值栈都已经进行过叙述了!这次博文我们讲解 ...

  6. JS运行机制之 Event Loop 的思考

    先举个栗子,如下: for (var i = 0; i < 5; i++) { setTimeout(function() { console.log('i: ',i); //一秒之后输出几乎没 ...

  7. MySQL my.cnf 配置文件注释

    以下是my.cnf配置文件参数解释 [client] port                     = 3309socket                   = /home/longxiben ...

  8. python字典无限遍历

    #无限遍历dict,通过key获取value,嵌套字典存在多个相同的key,可获取多个key class getValues(object): def __init__(self): pass #无限 ...

  9. delphi 组件安装教程详解

    学习安装组件的最好方法,就是自己编写一个组件并安装一遍,然后就真正明白其中的原理了.   本例,编写了两个BPL, dclSimpleEdit.bpl 与 SimpleLabel.bpl ,其中,dc ...

  10. 焦点轮播图(tab轮播)

    主要有两部分:1.列表导航(小图片) 2.展示区(大图片) 页面布局: HTML部分:    <div class="s_conC">                  ...