zoukankan      html  css  js  c++  java
  • Android常用工具类封装---SharedPreferencesUtil

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

      

  • 相关阅读:
    [QT][待解决问题]对话框ui载入卡顿问题
    [QT] Tab键切换焦点顺序
    [QT][问题记录]发布软件时遇到的问题
    [QT][转载] Qt信号和槽
    [QT][转载]Qt:使用C++还是QML
    [qt][问题记录] 无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll
    [QT]安装中出现的问题(安装qt5.8,出现Could not start:"{0,3010,1603,5100} msiexec ...")
    [转载]Lwip之IP/MAC地址冲突检测
    转载:TCP连接的状态详解以及故障排查
    git push (第一次) (转)
  • 原文地址:https://www.cnblogs.com/spring87/p/4641180.html
Copyright © 2011-2022 走看看