AutoSharedPreference
AutoSharedPreference copied to clipboard
🚀Automatic SharedPreference Generator.
trafficstars
AutoSharedPreference
AutoSharedPreference is an automatic generation of SharedPreference by adding Annotations to class.
Usage
build.gradle
implementation 'me.linkaipeng:autoSPAnnotation:1.0.0'
annotationProcessor 'me.linkaipeng:autoSPCompiler:1.0.0'
Initialize
AutoSharedPreferenceConfig.getInstance().init(this);
Add annotations to the class
@AutoSharedPreferences(mode = Context.MODE_PRIVATE)
public class AppConfig {
@AutoGenerateField(filedName = "StudentName", defaultStringValue = "ddd", commitType = AutoGenerateField.CommitType.APPLY)
private String name;
@AutoGenerateField(defaultIntValue = -10)
private int count;
@AutoGenerateField(defaultLongValue = 90l, commitType = AutoGenerateField.CommitType.COMMIT)
private long startTime;
@AutoGenerateField(defaultBooleanValue = true)
private boolean isClose;
@AutoGenerateField(defaultFloatValue = 0.534534534f)
private float price;
@AutoGenerateField
private Set<String> productSet;
}
modecan use the value inContext;- If you want to customize the
SharedPreferencesfilename, you can use thenameattribute.。
Add annotations to the field
@AutoGenerateField(filedName = "StudentName", defaultStringValue = "ddd", commitType = AutoGenerateField.CommitType.APPLY)
private String name;
filedNameis used to define the name ofkeystored inSharedPreferences. The default value is the field name;defaultStringValue,defaultIntValueare used to set default values;commitTypeis the save mode, you can choosecommitorapply, the default value iscommit.
You can view the generated code in app/build/generated
public final class AppConfigSP {
private static AppConfigSP sInstance;
private SharedPreferences mSharedPreferences;
private AppConfigSP() {
mSharedPreferences = AutoSharedPreferenceConfig.getInstance().getContext().getSharedPreferences("AppConfigSP", 0);
}
public static AppConfigSP getInstance() {
if (null == sInstance) {
sInstance = new AppConfigSP();
}
return sInstance;
}
public SharedPreferences getSharedPreferences() {
return mSharedPreferences;
}
public boolean contains(String key) {
return mSharedPreferences.contains(key);
}
public String getName() {
return mSharedPreferences.getString("StudentName", "ddd");
}
public void setName(String value) {
mSharedPreferences.edit().putString("StudentName", value).apply();
}
}