package com.dh.foundation.utils; import android.annotation.TargetApi; import android.os.Build; import com.dh.foundation.manager.FoundationManager; import java.util.Set; /** * Created By: Seal.Wu * Date: 2015/4/14 * Time: 17:47 */ public class SharedPreferenceUtils { public final static Controller<String> STRING_CONTROLLER = new Controller<String>() { @Override public void set(String key, String value) { FoundationManager.getSharedPreferences().edit().putString(key, value).apply(); } @Override public String get(String key, String defaultValue) { return FoundationManager.getSharedPreferences().getString(key, defaultValue); } }; public final static Controller<Integer> INTEGER_CONTROLLER = new Controller<Integer>() { @Override public void set(String key, Integer integer) { FoundationManager.getSharedPreferences().edit().putInt(key, integer).apply(); } @Override public Integer get(String key, Integer defaultValue) { return FoundationManager.getSharedPreferences().getInt(key, defaultValue); } }; public static final Controller<Boolean> BOOLEAN_CONTROLLER = new Controller<Boolean>() { @Override public void set(String key, Boolean aBoolean) { FoundationManager.getSharedPreferences().edit().putBoolean(key, aBoolean).apply(); } @Override public Boolean get(String key, Boolean defaultValue) { return FoundationManager.getSharedPreferences().getBoolean(key, defaultValue); } }; public static final Controller<Float> FLOAT_CONTROLLER = new Controller<Float>() { @Override public void set(String key, Float aFloat) { FoundationManager.getSharedPreferences().edit().putFloat(key, aFloat).apply(); } @Override public Float get(String key, Float defaultValue) { return FoundationManager.getSharedPreferences().getFloat(key, defaultValue); } }; public static final Controller<Long> LONG_CONTROLLER = new Controller<Long>() { @Override public void set(String key, Long aLong) { FoundationManager.getSharedPreferences().edit().putLong(key, aLong).apply(); } @Override public Long get(String key, Long defaultValue) { return FoundationManager.getSharedPreferences().getLong(key, defaultValue); } }; public static final Controller<Set<String>> STRING_SET_CONTROLLER = new Controller<Set<String>>() { @TargetApi(Build.VERSION_CODES.HONEYCOMB) @Override public void set(String key, Set<String> aStringSet) { FoundationManager.getSharedPreferences().edit().putStringSet(key, aStringSet).apply(); } @TargetApi(Build.VERSION_CODES.HONEYCOMB) @Override public Set<String> get(String key, Set<String> defaultValue) { return FoundationManager.getSharedPreferences().getStringSet(key, defaultValue); } }; public interface Controller<T> { void set(String key, T t); T get(String key, T defaultValue); } }