Skip to content

Instantly share code, notes, and snippets.

@Jween
Last active January 19, 2016 02:20
Show Gist options
  • Save Jween/8addb92aa14044f894c8 to your computer and use it in GitHub Desktop.
Save Jween/8addb92aa14044f894c8 to your computer and use it in GitHub Desktop.
Useful wrapper to simplify the android SharedPreference
/**
*
* Use tips
*
* --read some key-value
* SharedPrefer.from(context)
* .open("com.meizu.flyme.meepo.SOME_SHARED_PREFERENCE") // optional
* .read()
* .getXxx(KYE, DEFAULT_VALUE);
*
* --edit some key-value
* SharedPrefer.from(context)
* .open("com.meizu.flyme.meepo.SOME_SHARED_PREFERENCE") // optional
* .edit()
* .putAaa(aKey, aValue)
* .putBbb(bKey, bValue)
* .apply(); // or .commit();
*
* Created by Jween on 11/30/14.
*/
public class SharedPrefer {
private Context mContext;
private SharedPreferences sp;
private SharedPreferences.Editor editor;
private static final String DEFAULT_FILE_NAME = "SharedPrefer";
private String fileName = DEFAULT_FILE_NAME;
private SharedPrefer(Context context){
mContext = context;
}
public static SharedPrefer from(Context context) {
return new SharedPrefer(context);
}
public SharedPreferences read() {
if (sp == null) {
sp = mContext.getSharedPreferences(fileName, 0);
}
return sp;
}
public SharedPrefer open(String fileName) {
this.fileName = fileName;
return this;
}
@SuppressLint("CommitPrefEdits")
public SharedPreferences.Editor edit() {
if (editor == null) {
editor = read().edit();
}
return editor;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment