Android常用工具类封装---SharedPreferencesUtil

简介: SharedPreferences常用于保存一些简单的数据,如记录用户操作的配置等,使用简单。   public class SharedPreferencesUtil {              //存储的sharedpreferences文件名      private stat...

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; 
    } 
   
}

  

目录
相关文章
|
2月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
31 0
|
5月前
|
Android开发
Android Http 请求封装及使用
Android Http 请求封装及使用
|
7月前
|
前端开发 Android开发 数据安全/隐私保护
安卓MVI架构真的来了?动手试着封装吧(一)上
安卓MVI架构真的来了?动手试着封装吧(一)
196 0
|
3月前
|
XML Java Android开发
Android Studio App开发之列表类视图中基本适配器BaseAdapter的使用及实战(附源码 超详细)
Android Studio App开发之列表类视图中基本适配器BaseAdapter的使用及实战(附源码 超详细)
27 0
|
7月前
|
Android开发
Android 中实现特殊符号㎡ 的显示 使用SpannableString类来实现
Android 中实现特殊符号㎡ 的显示 使用SpannableString类来实现
26 0
|
7月前
|
Java Android开发
Android 中通过Intent传递类对象,通过实现Serializable和Parcelable接口两种方式传递对象
Android 中通过Intent传递类对象,通过实现Serializable和Parcelable接口两种方式传递对象
65 1
|
7月前
|
Android开发
Android Log类中方法的使用
Android Log类中方法的使用
53 0
|
7月前
|
API Android开发 Kotlin
安卓MVI架构真的来了?动手试着封装吧(三)下
安卓MVI架构真的来了?动手试着封装吧(三)
73 0
|
7月前
|
Android开发 开发者 Kotlin
安卓MVI架构真的来了?动手试着封装吧(三)上
安卓MVI架构真的来了?动手试着封装吧(三)
101 0
|
7月前
|
Android开发 Kotlin 容器
安卓MVI架构真的来了?动手试着封装吧(二)下
安卓MVI架构真的来了?动手试着封装吧(二)
61 0

相关产品

  • 云迁移中心