import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor; /**
* SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储Key-Value键值对数据,<br/>
* 通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。<br/>
* SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。<br/>
* SharedPreferences对象与SQLite数据库相比,免去了创建数据库、创建表、写SQL语句等操作,更加易用。<br/>
* 但是SharedPreferences仅支持以下数据类型:<br/>
* boolean<br/>
* int<br/>
* float<br/>
* long<br/>
* String<br/>
* 但是无法进行条件查询等,所以不论SharedPreferences的数据存储操作是如何简单,<br/>
* 它只能是存储方式的一种补充,而无法完全替代如SQLite数据库等其他数据存储方式。<br/>
*
* @author wangzhu
* @date 2014年11月22日 上午10:17:49
*/
public class SharedPreferencesUtils {
/**
* 将内容写入SharedPrefrences中
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
* @param value
* 值
*/
public static void write(Context context, String fileName, String key,
boolean value) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
Editor editor = preferences.edit();
editor.putBoolean(key, value);
editor.commit();
} /**
* 读取SharedPreferences中标记所对应的值
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
* @param defValue
* 默认值
* @return
*/
public static boolean readBoolean(Context context, String fileName,
String key, boolean defValue) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
return preferences.getBoolean(key, defValue);
} /**
* 将内容写入SharedPrefrences中
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
* @param value
* 值
*/
public static void write(Context context, String fileName, String key,
int value) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
Editor editor = preferences.edit();
editor.putInt(key, value);
editor.commit();
} /**
* 读取SharedPreferences中标记所对应的值
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
* @param defValue
* 默认值
* @return
*/
public static int readInt(Context context, String fileName, String key,
int defValue) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
return preferences.getInt(key, defValue);
} /**
* 将内容写入SharedPrefrences中
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
* @param value
* 值
*/
public static void write(Context context, String fileName, String key,
long value) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
Editor editor = preferences.edit();
editor.putLong(key, value);
editor.commit();
} /**
* 读取SharedPreferences中标记所对应的值
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
* @param defValue
* 默认值
* @return
*/
public static long readLong(Context context, String fileName, String key,
long defValue) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
return preferences.getLong(key, defValue);
} /**
* 将内容写入SharedPrefrences中
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
* @param value
* 值
*/
public static void write(Context context, String fileName, String key,
float value) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
Editor editor = preferences.edit();
editor.putFloat(key, value);
editor.commit();
} /**
* 读取SharedPreferences中标记所对应的值
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
* @param defValue
* 默认值
* @return
*/
public static float readFloat(Context context, String fileName, String key,
float defValue) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
return preferences.getFloat(key, defValue);
} /**
* 将内容写入SharedPrefrences中
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
* @param value
* 值
*/
public static void write(Context context, String fileName, String key,
String value) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
Editor editor = preferences.edit();
editor.putString(key, value);
editor.commit();
} /**
* 读取SharedPreferences中标记所对应的值
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
* @param defValue
* 默认值
* @return
*/
public static String readString(Context context, String fileName,
String key, String defValue) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
return preferences.getString(key, defValue);
} /**
* 删除SharedPreferences中Key对应的值
*
* @param context
* 上下文对象
* @param fileName
* 文件名
* @param key
* 标记
*/
public static void remove(Context context, String fileName, String key) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
Editor editor = preferences.edit();
editor.remove(key);
editor.commit();
} /**
* 清除SharedPreferences中对应文件的所有内容
*
* @param context
* 上下文对象
* @param fileName
* 文件名
*/
public static void clear(Context context, String fileName) {
SharedPreferences preferences = context.getSharedPreferences(fileName,
Context.MODE_PRIVATE);
Editor editor = preferences.edit();
editor.clear();
editor.commit();
}
}

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

  1. Android中数据存储(一)

    国庆没有给国家添堵,没有勾搭妹子,乖乖的写着自己的博客..... 本文将为大家介绍Android中数据存储的五种方式,数据存储可是非常重要的知识哦. 一,文件存储数据 ①在ROM存储数据 关于在ROM ...

  2. android中数据存储

    android中数据存储     Android 中存储数据的方式有五种:SQLite数据库.文件存储.内容提供者.网络.SharedPreferences(Key----value)五种存储方式. ...

  3. Android中数据存储(四)——ContentProvider存储数据

    目录(?)[+]   当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方 ...

  4. Android中数据存储(三)——SQLite数据库存储数据

    当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方式: 1. Share ...

  5. Android简易数据存储之SharedPreferences

    Andorid提供了多种数据存储的方式,例如前面说到的“Android数据存储之SQLite的操作”是用于较复杂的数据存储.然而,如果有些简单的数据存储如果采用SQLite的方式的话会显得比较笨重.例 ...

  6. android中数据存储的contentprovider的使用方法

    元数据接口 package com.example.contentproviderprojecrt; import android.net.Uri; import android.provider.B ...

  7. Android之数据存储之SharedPreferences

    SharedPreferences是以键值对形式存储数据,主要用于记录系统的设置,如飞行模式是否开启,声音大小的值等.//SharedPreferences方式保存到xml文件SharedPrefer ...

  8. Android 中数据存储方式有哪些?

    a) 文件存储b) xml,SharedPreferencec) SQLite数据库d) ContentProvidere) 网络

  9. Android 数据存储之 SharedPreferences储存

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

随机推荐

  1. WP开发笔记——字符串 转 MD5 加密

    将字符串进行MD5加密,返回加密后的字符串. 从这里下载Md5.cs文件:http://pan.baidu.com/s/1hq3gpnu. 添加到Windows Phone 7项目中,在代码里面这样调 ...

  2. [Apache] 2.2与2.4版本在设置虚拟域名时的小差别

    Apache服务器配置虚拟步骤: 1.在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置: #LoadModule ...

  3. Less 导入命令 @import

    在这个less文件上想导入另一个less文件, 连在同级的文件里直接可用文件名 @import url('css.less')或@import rul(css) 连下级的文件 @import url( ...

  4. jQuery ID与Class性能对比之一

    最近一直在做网站的优化方面的工作,在实际优化的过程中逐渐发现yahoo的34条只能作为一个大的方向,除此之外还有很多地方值得前端工程师关注的.结合最近的优化体会及实地测试,现发出来一部分供大家批评指正 ...

  5. VS2015编译错误:调用的目标发生了异常--->此实现不是Windows平台FLPS验证的加密算法的一部分。

    在Win10下安装好几次VS2015(企业版)了,这次发生了一个奇怪的问题,错误截图如下: 控制台.WPF等项目均有此错误!但是ASP.NET项目却可以编译运行!一开始还以为VS2015安装错误,修复 ...

  6. 多线程更新已排序的Datagridview数据,造成数据错位

    多线程更新已排序的Datagridview数据,触发Datagridview的auto-sort时间,数据重新排序,造成后面更新数据的更新错误. 解决方法: 方法一.设置Datagridview的表头 ...

  7. nginx 日志管理

    日志管理 我们观察nginx的server段,可以看到如下类似信息 #access_log  logs/host.access.log  main; 这说明 该server, 它的访问日志的文件是  ...

  8. gulp插件

    gulp是趋势 gulp完全开发指南 => 快来换掉你的Grunt吧 gulp的工作流程:文件流--文件流--文件流......因为grunt操作会创建临时文件,会有频繁的IO操作,而gulp使 ...

  9. Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装

     Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapR ...

  10. SequoiaDB 与 Hive 集成

    SequoiaDB与Hadoop部署 SequoiaDB与Hadoop在物理上部署方案如下图所示,部署建议如下: l  SequoiaDB与Hadoop部署在相同的物理设备上,以减少Hadoop与Se ...