SharedPreferences常用于保存一些简单的数据,如记录用户操作的配置等,使用简单。

public class SharedPreferencesUtil { 
       
    //存储的sharedpreferences文件名 
    private static final String FILE_NAME = "save_file_name"; 
       
    /**
     * 保存数据到文件
     * @param context
     * @param key
     * @param data
     */ 
    public static void saveData(Context context, String key,Object data){ 
   
        String type = data.getClass().getSimpleName(); 
        SharedPreferences sharedPreferences = context 
                .getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE); 
        Editor editor = sharedPreferences.edit(); 
           
        if ("Integer".equals(type)){ 
            editor.putInt(key, (Integer)data); 
        }else if ("Boolean".equals(type)){ 
            editor.putBoolean(key, (Boolean)data); 
        }else if ("String".equals(type)){ 
            editor.putString(key, (String)data); 
        }else if ("Float".equals(type)){ 
            editor.putFloat(key, (Float)data); 
        }else if ("Long".equals(type)){ 
            editor.putLong(key, (Long)data); 
        } 
           
        editor.commit(); 
    } 
       
    /**
     * 从文件中读取数据
     * @param context
     * @param key
     * @param defValue
     * @return
     */ 
    public static Object getData(Context context, String key, Object defValue){ 
           
        String type = defValue.getClass().getSimpleName(); 
        SharedPreferences sharedPreferences = context.getSharedPreferences 
                (FILE_NAME, Context.MODE_PRIVATE); 
           
        //defValue为为默认值,如果当前获取不到数据就返回它 
        if ("Integer".equals(type)){ 
            return sharedPreferences.getInt(key, (Integer)defValue); 
        }else if ("Boolean".equals(type)){ 
            return sharedPreferences.getBoolean(key, (Boolean)defValue); 
        }else if ("String".equals(type)){ 
            return sharedPreferences.getString(key, (String)defValue); 
        }else if ("Float".equals(type)){ 
            return sharedPreferences.getFloat(key, (Float)defValue); 
        }else if ("Long".equals(type)){ 
            return sharedPreferences.getLong(key, (Long)defValue); 
        } 
           
        return null; 
    } 
   
}

  

Android常用工具类封装---SharedPreferencesUtil的更多相关文章

  1. 53. Android常用工具类

    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.Prefer ...

  2. Android 常用工具类之SPUtil,可以修改默认sp文件的路径

    参考: 1. 利用Java反射机制改变SharedPreferences存储路径    Singleton1900 2. Android快速开发系列 10个常用工具类 Hongyang import ...

  3. 【转】Android常用工具类

    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.Prefe ...

  4. Android 常见工具类封装

    1,MD5工具类: public class MD5Util { public final static String MD5(String s) { char hexDigits[] = { '0' ...

  5. Android Sqlite 工具类封装

    鉴于经常使用 Sqlite 数据库做数据持久化处理,进行了一点封装,方便使用. 该封装类主要支持一下功能 支持多用户数据储存 支持 Sqlite数据库升级 支持传入 Sql 语句建表 支持 SQLit ...

  6. Android常见工具类封装

    MD5加密 import android.annotation.SuppressLint; import java.security.MessageDigest; public class MD5 { ...

  7. android常用工具类

    import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkIn ...

  8. Android 常用工具类之 ScreenUtil

    需求: 截屏 参考 :    Android开发:截屏 screenshot 功能小结 package bvb.de.openadbwireless.utils; import android.app ...

  9. Android 常用工具类之LogUtil,可以定位到代码行,双击跳转

    package cn.utils; import android.util.Log; public class LogUtils { public static boolean isDebug = t ...

随机推荐

  1. C#核编之System.Environment类

    在前面的例子中用来了Environment.GetCommandLineArgs()这个方法,这个方法就是获取用户的命令行输入,是Environment类的方法之一,该方法的返回值是string[]  ...

  2. Fedora、CentOS install TTF/otf fonts

    Step 1:切换至字体下载目录: [Richard@localhost Downloads]$ ll | grep otf -rw-rw-r--. Richard Richard 7月 RBNo2L ...

  3. OC语法3——点语法,self关键字

    点语法:   为了给程序员提供便捷,OC中也引入了点语法.不过它和Java中点语法的意义是完全不同的. 在Java中无论调用任何方法,还是访问public类型的成员变量都是用点语法(.号). 而在OC ...

  4. 【转】Pjax是什么以及为什么推荐大家用

    http://my.oschina.net/sub/blog/12344 技术增强的文章,可以看一下 .

  5. eclipse序列化生成serialVersionUID

    serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性. 如果你修改代码重新部署后出现序列化错误,可以考虑给相应的类增加serialVersio ...

  6. js私有化属性

    我们先来看一个例子: var Demo1 = function(val){ this.value = val; this.getValue = function(){ return this.valu ...

  7. Kotlin Vertx

    Kotlin & Vertx Kotlin 是一门好语言,值得大家了解一下. Vertx 是一个好框架,也值得大家了解一下. Kotlin 写过js,也写过一点点go,主力一直是java.用了 ...

  8. AutoIt 函数学习之----Send函数

    Send: 作用:向激活窗口发送模拟键击操作. 语法: send('按键'[,标志]) 参数: 按键:要发送的按键序列. 标志:[可选参数] 更改程序处理“按键”的方式:  标志 = 0 (默认),按 ...

  9. Oracle EBS-SQL (SYS-13):查询DBA在系统中的打Patch的信息.SQL

    查询DBA在系统中的打补丁信息 1. select * from ad_patch_drivers          /*查看已经打了哪些Patch*/ 2. select * from ad_pat ...

  10. junwong 9个杀手级 JVM 编程语言

    http://www.oschina.net/question/213217_45561