开发者社区> 啊啊啊88jdk> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Android存储之SharedPreferences

简介: Android数据存储之SharedPreferences SharedPreferences对象初始化 SharedPreferences mSharedPreferences = g...
+关注继续查看

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 | 作用域存储适配
Android | 作用域存储适配
0 0
Android调用相机拍照录视频录音以及存储,7.0以上及以下都可使用。
Android调用相机拍照录视频录音以及存储,7.0以上及以下都可使用。
0 0
Android内、外存储分区&常用存储目录,getExternalStorageDirectory获取的是storage/emulated/0/
Android内、外存储分区&常用存储目录,getExternalStorageDirectory获取的是storage/emulated/0/
0 0
【Android】7.0复杂数据的存储SQLite(内置数据库)Room框架
常用的数据库 sqlserver oracle mysql Android嵌入式数据库SQLite SQLite数据库支持SQL语法和ACID事务,适用于存储大量的关系型数据 eg:qq的聊天列表 学习强国的新闻
0 0
【android】关于android10-11存储的一些知识
【android】关于android10-11存储的一些知识
0 0
Android 文件存储-图片存储
因 Android1 1谷歌禁止使用requestLegacyExternalStorage ,故将存储方式分为两种方式来进行文件存储。 存储你的应用打算与其他应用共享的文件,包括媒体、文档和其他文件。在这里咱们将图片保存至图库(共享文件)。
0 0
Android物联网应用程序开发(智慧城市)—— 购物信息的存储界面开发
Android物联网应用程序开发(智慧城市)—— 购物信息的存储界面开发
0 0
【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )(二)
【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )(二)
0 0
【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )(一)
【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )(一)
0 0
【Android 逆向】获取安装在手机中的应用的 APK 包 ( 进入 adb shell | 获取 root 权限 | 进入 /data/app/ 目录 | 拷贝 base.apk 到外置存储 )
【Android 逆向】获取安装在手机中的应用的 APK 包 ( 进入 adb shell | 获取 root 权限 | 进入 /data/app/ 目录 | 拷贝 base.apk 到外置存储 )
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android插件化:从入门到放弃
立即下载