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. servlet上传文件报错(一)

    1.详细报错例如以下: org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multip ...

  2. ChartControl第一课简短的控件初步设计

    WinForms Controls >Controls > Chart Control > Getting Started This document gives you a qui ...

  3. C#.net连接SQLite及遇到的问题

    1.Slite简介 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需 ...

  4. TextView 为部分文字添加下划线,并实现单击事件

    在开发应用的过程中经常会遇到显示一些不同的字体风格的信息,如关键词高亮显示的等.对于类似的情况,一般我们会想着使用多个TextView去实现,对于每个TextView设置不同的字体风格来满足需求.   ...

  5. Built-in Functions学习

    abs(x) :返回一个数字的绝对值,可以是整形也可以是浮点型. all(iterable):返回True,如果所以迭代对象的元素为true,或者可迭代对象为空. any(iterable):如果可迭 ...

  6. retain、strong、weak、assign区别

    1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b.此时a 和b指向同一块内存,请问当a不再需要这块内存,能 ...

  7. 括号匹配算法 C语言实现

    #include <stdio.h> #include <malloc.h> //malloc,realloc #include <math.h> //含有over ...

  8. svn 同步到web目录

    windows  hook 下 @echo offSET REPOS=%1SET REV=%2SET DIR=%REPOS%/hooksSET PATH=%PATH%;SET WORKING=D:/w ...

  9. myeclipse 环境配置优化,不断跟新整理中

    myeclipse 环境配置,不断跟新整理中1.General --->Workspace ---> UTF-8 工作环境编码2.General --->Editors --> ...

  10. silverlight datagrid绑定匿名类

    原文 http://www.cnblogs.com/luweis/archive/2011/10/21/2220587.html 刚开始遇到的一个问题是这样的,我有一个datagrid,根据不同的条件 ...