将SharedPreferences存储到指定位置
private SharedPreferences sp;
/**
* 初始化配置文件
* @param context
* @param configName 配置文件名
* @param isSD 是否存放到内存卡中
* @param pathDir 内存卡中指定路径 ,isSD=true 有效
*/
public PDAConfig(Context context, String configName, boolean isSD, String pathDir) {
if (isSD) {
try {
Field field = ContextWrapper.class.getDeclaredField("mBase");
field.setAccessible(true);
Object obj = field.get(context);
field = obj.getClass().getDeclaredField("mPreferencesDir");
field.setAccessible(true);
File file = new File(pathDir);
field.set(obj, file);
sp = context.getSharedPreferences(configName, Activity.MODE_PRIVATE);
} catch (Exception e) {
e.printStackTrace();
}
} else {
sp = context.getSharedPreferences(configName, 0);
}
}
isSD = true;//存放到内存中指定位置
isSD = false;// /data/data/应用程序包/shared_prefs