Android中数据存储之SharedPreferences
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的更多相关文章
- Android中数据存储(一)
国庆没有给国家添堵,没有勾搭妹子,乖乖的写着自己的博客..... 本文将为大家介绍Android中数据存储的五种方式,数据存储可是非常重要的知识哦. 一,文件存储数据 ①在ROM存储数据 关于在ROM ...
- android中数据存储
android中数据存储 Android 中存储数据的方式有五种:SQLite数据库.文件存储.内容提供者.网络.SharedPreferences(Key----value)五种存储方式. ...
- Android中数据存储(四)——ContentProvider存储数据
目录(?)[+] 当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方 ...
- Android中数据存储(三)——SQLite数据库存储数据
当一个应用程序在Android中安装后,我们在使用应用的过程中会产生很多的数据,应用都有自己的数据,那么我们应该如何存储数据呢? 数据存储方式 Android 的数据存储有5种方式: 1. Share ...
- Android简易数据存储之SharedPreferences
Andorid提供了多种数据存储的方式,例如前面说到的“Android数据存储之SQLite的操作”是用于较复杂的数据存储.然而,如果有些简单的数据存储如果采用SQLite的方式的话会显得比较笨重.例 ...
- android中数据存储的contentprovider的使用方法
元数据接口 package com.example.contentproviderprojecrt; import android.net.Uri; import android.provider.B ...
- Android之数据存储之SharedPreferences
SharedPreferences是以键值对形式存储数据,主要用于记录系统的设置,如飞行模式是否开启,声音大小的值等.//SharedPreferences方式保存到xml文件SharedPrefer ...
- Android 中数据存储方式有哪些?
a) 文件存储b) xml,SharedPreferencec) SQLite数据库d) ContentProvidere) 网络
- Android 数据存储之 SharedPreferences储存
------------------------------------------SharedPreferences存储--------------------------------------- ...
随机推荐
- 匹配一级分类和二级分类 名字和url 里面有玄机
1:要匹配的html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// ...
- Ping N个IP测试网络连通性
#-----------------------Smokeping移动节点-------------------##! /bin/bashecho "------------- Statin ...
- PHP获取和操作配置文件php.ini的几个函数
当无法修改php.ini配置文件怎么办,莫担心. php有一套设置和获取配置信息的函数. 1.ini_get()获取配置参数,ini_set()设置配置参数 <?php
- WCF全面解析第二章 地址(Adress)
2.1 统一资源标识(URL) 2.1.1 Http/Https 2.1.2 Net.TCP 2.1.3 Net.Pipe WCF只将命名管道专门用于同一台机器的跨进程通信. 2.1.4 Net.Ms ...
- hibernate4 使用及 新特性
hibernate4.x已经在官网出现一段时间了.下载地址: http://hibernate.org/orm/downloads/ 使用hibernate4所需要的jar包 在lib\require ...
- MvvmLight for Xamarin.Forms
一.Xamarin.Forms 不使用框架时的绑定 需要注意的是BindingContent,不是DataContent <ContentPage xmlns="http://xama ...
- VirtualBox中虚拟Ubuntu添加新的虚拟硬盘
VirtualBox中装好Ubuntu后,发现硬盘空间不够使用 了.以下是搜集整理的解决办法: 1. 添加新硬盘 设置 -> Storage -> SATA控制器->右击,选择&qu ...
- Go学习指南
学习Golang书籍&资料: 1. The Go Programming Language Specification: http://golang.org/ref/spec 2. How ...
- mouse_driver
1:function.h #ifndef FUNCTION_H#define FUNCTION_H #define DRIVER_FUNCTION_ADD_DEVICE#define DRIVER_F ...
- 【转】- 使用T4模板批量生成代码
前言 之前在 “使用T4模板生成代码 - 初探” 文章简单的使用了T4模板的生成功能,但对于一个模板生成多个实例文件,如何实现这个方式呢?无意发现一个解决方案 “MultipleOutputHelpe ...