您的位置:首页 > 移动开发 > Android开发

Android 封装工具类之共享参数

2017-12-23 17:07 399 查看
/**
* 共享参数工具类
*/
public class S {

public static void put(Context context, String fileName, String key, Object object) {
SharedPreferences sharedPreferences = context.getApplicationContext().getSharedPreferences(fileName, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
if (object instanceof String) {
editor.putString(key, (String) object);
} else if (object instanceof Integer) {
editor.putInt(key, (Integer) object);
} else if (object instanceof Boolean) {
editor.putBoolean(key, (Boolean) object);
} else if (object instanceof Float) {
editor.putFloat(key, (Float) object);
} else if (object instanceof Long) {
editor.putLong(key, (Long) object);
}
SharedPreferencesCompat.apply(editor);
}

public static Object get(Context context, String fileName, String key, Object defaultObject) {
SharedPreferences sharedPreferences = context.getApplicationContext().getSharedPreferences(fileName, Context.MODE_PRIVATE);
if (defaultObject instanceof String) {
return sharedPreferences.getString(key, (String) defaultObject);
} else if (defaultObject instanceof Integer) {
return sharedPreferences.getInt(key, (Integer) defaultObject);
} else if (defaultObject instanceof Boolean) {
return sharedPreferences.getBoolean(key, (Boolean) defaultObject);
} else if (defaultObject instanceof Float) {
return sharedPreferences.getFloat(key, (Float) defaultObject);
} else if (defaultObject instanceof Long) {
return sharedPreferences.getLong(key, (Long) defaultObject);
}
return null;
<
4000
span style="color:#cc7832;">    }

public static Map<String, ?> getAll(Context context, String fileName) {
SharedPreferences sharedPreferences = context.getApplicationContext().getSharedPreferences(fileName, Context.MODE_PRIVATE);
return sharedPreferences.getAll();
}

public static boolean contain(Context context, String fileName, String key) {
SharedPreferences sharedPreferences = context.getApplicationContext().getSharedPreferences(fileName, Context.MODE_PRIVATE);
return sharedPreferences.contains(key);
}

public static void remove(Context context, String fileName, String key) {
SharedPreferences sharedPreferences = context.getApplicationContext().getSharedPreferences(fileName, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.remove(key);
SharedPreferencesCompat.apply(editor);
}

public static void clear(Context context, String fileName) {
SharedPreferences sharedPreferences = context.getApplicationContext().getSharedPreferences(fileName, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear();
SharedPreferencesCompat.apply(editor);
}

private static class SharedPreferencesCompat {

private static final Method sApplyMethod = findApplyMethod();

@SuppressWarnings({"unchecked", "rawtypes"})
private static Method findApplyMethod() {
try {
Class cls = SharedPreferences.Editor.class;
return cls.getMethod("apply");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

public static void apply(SharedPreferences.Editor editor) {
try {
if (sApplyMethod != null) {
sApplyMethod.invoke(editor);
}
return;
} catch (Exception e) {
e.printStackTrace();
}
editor.commit();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: