Обычно разработчик использует Shared Preference для хранения некоторого значения поведения указанного ключа c. Я создал общий класс предпочтений c и использую его каждый проект android без каких-либо колебаний.
public class SaveInSharedPreference {
public static final String IS_LOGIN = "isLogin";
private final SharedPreferences pref;
private final SharedPreferences.Editor editor;
// shared pref mode
private final int PRIVATE_MODE = 0;
// Shared preferences file name
private static final String PREF_NAME = "PREF_NAME";
@SuppressLint("CommitPrefEdits")
public SaveInSharedPreference(Context context) {
pref = context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
editor = pref.edit();
}
public void setBoolean(String key, boolean value){
editor.putBoolean(key, value);
editor.commit();
}
public boolean getBoolean(String key) {
return pref.getBoolean(key, false);
}
public void setString(String key, String value) {
editor.putString(key, value);
editor.commit();
}
public String getString(String key) {
return pref.getString(key, "");
}
public void setInteger(String key, int value) {
editor.putInt(key, value);
editor.commit();
}
public Integer getInteger(String key) {
return pref.getInt(key, 0);
}
public void clearSavedInSharedPreference(){
editor.clear();
editor.commit();
}
}
После успешной аутентификации пользователь использует эту строку для добавления / обновления значения ключа с помощью :
new SaveInSharedPreference(this).setBoolean(IS_LOGIN, true);
И вы можете получить значение ключа следующим образом:
new SaveInSharedPreference(this).getBoolean(IS_LOGIN);
Общие предпочтения хранятся только в String, Boolean, Long, Float, Integer. Если вы хотите сохранить JsonObject в общих настройках, вы также можете это сделать. Но вы должны изменить свой JsonObject на строку, затем сохранить его и получить значение из общего предпочтения в строке, а затем подключить его к вашему JsonObject, указанному ниже:
Сохранить / обновить данные
new SaveInSharedPreference(this).setString("user_data", new Gson().toJson(put_your_model_here));
Получить данные
new Gson().fromJson(new SaveInSharedPreference(this).getString("user_data"));
Вы также можете сохранить свой список в общих настройках.