android SharedPreferences封装类 简单 好用的类

在项目中经常会用到SharedPreferences储存一些临时文件,如登录账号.密码 ,ip等 ,有时候想起来就写一个,弄的项目很乱,在此封装好了一个类,代码如下:

public class mySharePreferences {  
    public static final String SERVER_IP = "mServerIP";  
    public static final String SERVER_PORT = "mServerPort";  
    public static final String SERVER_NAME = "mServerName";  
    SharedPreferences sharedPreferences;  
    Editor editor;  
  
    private mySharePreferences() {  
    };  
  
    public static mySharePreferences getIntanse() {  
        return Nested.mV2SharePreferences;  
    }  
  
    static class Nested {  
        private static mySharePreferences mV2SharePreferences = new mySharePreferences();  
    }  
  
    public SharedPreferences.Editor getEditor() {  
        if (editor == null || sharedPreferences == null) {  
            editor = getSharePreferences().edit();  
        }  
        return editor;  
    }  
  
    public SharedPreferences getSharePreferences() {  
        if (sharedPreferences == null) {  
            sharedPreferences = PreferenceManager  
                    .getDefaultSharedPreferences(V2Application.getContext());  
        }  
        return sharedPreferences;  
    }  
  
    public void putStringValue(String key, String value) {  
        getEditor().putString(key, value);  
        getEditor().commit();  
    }  
  
    public String getStringValue(String key, String defaultValue) {  
        return getSharePreferences().getString(key, defaultValue);  
    }  
  
    public void putBooleanValue(String key, boolean value) {  
        getEditor().putBoolean(key, value);  
        getEditor().commit();  
    }  
  
    public boolean getBooleanValue(String key, boolean defaultValue) {  
        return getSharePreferences().getBoolean(key, defaultValue);  
    }  



调用的时候非常方便   如果要储存数据直接调用mySharePreferences.getintanse().putStringValue(string key,string value);

获取数据的时候用mySharePreferences.getintanse().getStringValue(string key,string defaultValue);是不是感觉非常的方便   

猜你喜欢

转载自blog.csdn.net/qq_35893839/article/details/77983760