![](/img/trans.png)
[英]How to create a timer on Button and save in SharedPreferences(android)
[英]How can I create a SharedPreferences Helper class that can save instantly in Android
我想創建一個可以立即保存的共享首選項類,我該怎么做? 我一直在 github 上尋找示例,但找不到
public class SharedPreferencesReceiver {
public final static String MAIN_DATA_RECEIVER = "My_Data";
private static SharedPreferencesReceiver myPreferences;
private static SharedPreferences sharedPreferences;
private static SharedPreferences.Editor editor;
private SharedPreferencesReceiver(Context context) {
sharedPreferences = context.getSharedPreferences(MAIN_DATA_RECEIVER, Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
editor.apply();
}
public static SharedPreferencesReceiver getPreferences(Context context) {
if (myPreferences == null) {
myPreferences = new SharedPreferencesReceiver(context);
}
return myPreferences;
}
public void setAllDataSize(int value) {
editor.putInt("allDataSize", value);
editor.apply();
}
public int getAllDataSize() {
return sharedPreferences.getInt("allDataSize", 0);
}
}
主要活動
SharedPreferencesReceiver sharedPreferencesReceiver = SharedPreferencesReceiver.getPreferences(this);
int data = sharedPreferencesReceiver.getAllDataSize();
registerOnSharedPreferenceChangeListener // 我如何使用它? 我希望它立即保存
normal use;
SharedPreferences.OnSharedPreferenceChangeListener sharedpreflistener;
SharedPreferences sharedPreferences;
sharedPreferences = context.getSharedPreferences(MAIN_DATA_RECEIVER, Context.MODE_PRIVATE);
sharedpreflistener = (prefs, key) -> {
/////
};
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedpreflistener);
如果您想立即更改,請使用commit()
而不是apply()
。 apply()
是異步的, commit()
將在主線程上運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.