Android之SharedPreferences工具类

转载 2016年08月29日 03:31:19

本工具类永久维护,永久更新,如果各位读者发现有bug或者不合理之处,请留言,博主将第一时间改正。


本工具类提供的功能有:

1.存储五种类型的数据;

2.读取五种类型的数据;


内容如下:

  1. import android.content.Context;  
  2. import android.content.SharedPreferences;  
  3. import android.content.SharedPreferences.Editor;  
  4.   
  5. /** 
  6.  *  
  7.  * @author bear 
  8.  *  
  9.  *         SharedPrefereces工具类 
  10.  *  
  11.  */  
  12. public class SharedPrefsUtil {  
  13.       
  14.     /** 
  15.      * 向SharedPreferences中写入int类型数据 
  16.      *  
  17.      * @param context 上下文环境 
  18.      * @param name 对应的xml文件名称 
  19.      * @param key 键 
  20.      * @param value 值 
  21.      */  
  22.     public static void putValue(Context context, String name, String key,  
  23.             int value) {  
  24.         Editor sp = getEditor(context, name);  
  25.         sp.putInt(key, value);  
  26.         sp.commit();  
  27.     }  
  28.       
  29.     /** 
  30.      * 向SharedPreferences中写入boolean类型的数据 
  31.      *  
  32.      * @param context 上下文环境 
  33.      * @param name 对应的xml文件名称 
  34.      * @param key 键 
  35.      * @param value 值 
  36.      */  
  37.     public static void putValue(Context context, String name, String key,  
  38.             boolean value) {  
  39.         Editor sp = getEditor(context, name);  
  40.         sp.putBoolean(key, value);  
  41.         sp.commit();  
  42.     }  
  43.       
  44.     /** 
  45.      * 向SharedPreferences中写入String类型的数据 
  46.      *  
  47.      * @param context 上下文环境 
  48.      * @param name 对应的xml文件名称 
  49.      * @param key 键 
  50.      * @param value 值 
  51.      */  
  52.     public static void putValue(Context context, String name, String key,  
  53.             String value) {  
  54.         Editor sp = getEditor(context, name);  
  55.         sp.putString(key, value);  
  56.         sp.commit();  
  57.     }  
  58.       
  59.     /** 
  60.      * 向SharedPreferences中写入float类型的数据 
  61.      *  
  62.      * @param context 上下文环境 
  63.      * @param name 对应的xml文件名称 
  64.      * @param key 键 
  65.      * @param value 值 
  66.      */  
  67.     public static void putValue(Context context, String name, String key,  
  68.             float value) {  
  69.         Editor sp = getEditor(context, name);  
  70.         sp.putFloat(key, value);  
  71.         sp.commit();  
  72.     }  
  73.   
  74.     /** 
  75.      * 向SharedPreferences中写入long类型的数据 
  76.      *  
  77.      * @param context 上下文环境 
  78.      * @param name 对应的xml文件名称 
  79.      * @param key 键 
  80.      * @param value 值 
  81.      */  
  82.     public static void putValue(Context context, String name, String key,  
  83.             long value) {  
  84.         Editor sp = getEditor(context, name);  
  85.         sp.putLong(key, value);  
  86.         sp.commit();  
  87.     }  
  88.       
  89.     /** 
  90.      * 从SharedPreferences中读取int类型的数据 
  91.      *  
  92.      * @param context 上下文环境 
  93.      * @param name 对应的xml文件名称 
  94.      * @param key 键 
  95.      * @param defValue 如果读取不成功则使用默认值 
  96.      * @return 返回读取的值 
  97.      */  
  98.     public static int getValue(Context context, String name, String key,  
  99.             int defValue) {  
  100.         SharedPreferences sp = getSharedPreferences(context, name);  
  101.         int value = sp.getInt(key, defValue);  
  102.         return value;  
  103.     }  
  104.       
  105.     /** 
  106.      * 从SharedPreferences中读取boolean类型的数据 
  107.      *  
  108.      * @param context 上下文环境 
  109.      * @param name 对应的xml文件名称 
  110.      * @param key 键 
  111.      * @param defValue 如果读取不成功则使用默认值 
  112.      * @return 返回读取的值 
  113.      */  
  114.     public static boolean getValue(Context context, String name, String key,  
  115.             boolean defValue) {  
  116.         SharedPreferences sp = getSharedPreferences(context, name);  
  117.         boolean value = sp.getBoolean(key, defValue);  
  118.         return value;  
  119.     }  
  120.       
  121.     /** 
  122.      * 从SharedPreferences中读取String类型的数据 
  123.      *  
  124.      * @param context 上下文环境 
  125.      * @param name 对应的xml文件名称 
  126.      * @param key 键 
  127.      * @param defValue 如果读取不成功则使用默认值 
  128.      * @return 返回读取的值 
  129.      */  
  130.     public static String getValue(Context context, String name, String key,  
  131.             String defValue) {  
  132.         SharedPreferences sp = getSharedPreferences(context, name);  
  133.         String value = sp.getString(key, defValue);  
  134.         return value;  
  135.     }  
  136.       
  137.     /** 
  138.      * 从SharedPreferences中读取float类型的数据 
  139.      *  
  140.      * @param context 上下文环境 
  141.      * @param name 对应的xml文件名称 
  142.      * @param key 键 
  143.      * @param defValue 如果读取不成功则使用默认值 
  144.      * @return 返回读取的值 
  145.      */  
  146.     public static float getValue(Context context, String name, String key,  
  147.             float defValue) {  
  148.         SharedPreferences sp = getSharedPreferences(context, name);  
  149.         float value = sp.getFloat(key, defValue);  
  150.         return value;  
  151.     }  
  152.       
  153.     /** 
  154.      * 从SharedPreferences中读取long类型的数据 
  155.      *  
  156.      * @param context 上下文环境 
  157.      * @param name 对应的xml文件名称 
  158.      * @param key 键 
  159.      * @param defValue 如果读取不成功则使用默认值 
  160.      * @return 返回读取的值 
  161.      */  
  162.     public static long getValue(Context context, String name, String key,  
  163.             long defValue) {  
  164.         SharedPreferences sp = getSharedPreferences(context, name);  
  165.         long value = sp.getLong(key, defValue);  
  166.         return value;  
  167.     }  
  168.       
  169.     //获取Editor实例  
  170.     private static Editor getEditor(Context context, String name) {  
  171.         return getSharedPreferences(context, name).edit();  
  172.     }  
  173.   
  174.     //获取SharedPreferences实例  
  175.     private static SharedPreferences getSharedPreferences(Context context, String name) {  
  176.         return context.getSharedPreferences(name, Context.MODE_PRIVATE);  
  177.     }  
  178. }  

如果你的工程支持版本信息Android API Level >= 11,那么你还可以加入Set<String>类型的存储和读取。


在Activity或者其他的地方调用方式举例如下:

  1. //存储数据,在MySetting文件中存储键值对("color","red")  
  2. SharedPrefsUtil.putValue(this"MySetting""color""red");  
  1. //读取数据,从MySetting文件中读取键为"color"的值  
  2. String color = SharedPrefsUtil.getValue(this"MySetting""color""blue"); 

相关文章推荐

Android常用工具类3(SharedPreferences保存数据)

package zz; import android.content.Context; import android.content.SharedPreferences; /** * Share...

android 之SharedPreferences工具类

这里需要补充一点是,如果你想成功的将对象存储到SharedPreference当中,就去csdn网站,下载“commons-codec-1.4.jar”. /** * @类名:SharedPrefe...

Android之SharedPreferences两个工具类

相信Android的这个最简单的存储方式大家都很熟悉了,但是有一个小小技巧,也许你没有用过,今天就跟大家分享一下,我们可以把SharedPreferences封装在一个工具类中,当我们需要写数据和读数...

Android 中创建SharedPreferences工具类来保存状态,标志,数据等

public class CacheUtils { private final static String SP_NAME = “xsy”; private st...

Android:SharedPreferences操作工具类

package com.example.customlib.util; import java.lang.reflect.InvocationTargetException; import java...

android SharedPreferences工具类

今天,我接着上一篇的网络工具类,在写一篇关于我们本地存储的工具类,该类是在系统本身的基础上,稍加整理了下,主要是可以本地保存对象和获取对象。而对于SharedPreferences 的用法,如果有不懂...

Android工具类--SharedPreferences储存类

用SharedPrefences存储和得到一些轻量级的数据 package com.duanlian; import java.lang.reflect.InvocationTargetExcep...

分享一下简单的android SharedPreferences本地存储数据工具类

android SharedPreferences本地存储数据工具类

Android实现List<String>存储到SharedPreferences工具类

轻量级的数据,需要保存到SharedPreferences中,但只能保存一些整形、Long、布尔型、字符串,类似List存储没有实现,当然你可以选择存储到本地sqlite数据库,考虑到自己的需求来看,...
  • tyyj90
  • tyyj90
  • 2015-07-25 14:41
  • 4401
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)