Как reset все сохраненные хранилища данных с использованием общих настроек
Я создал действие, в котором я использовал общие настройки для хранения данных. Теперь в другом действии у меня есть кнопка reset. Когда я нажимаю кнопку reset, хранилище данных будет потеряно..so как это можно сделать... мой код
код в действии1:
public void writeToRegister()
{
// Write history data to register
SharedPreferences preferences1 = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor1 = preferences1.edit();
editor1.putInt("iHistcount", CycleManager.getSingletonObject().iHistCount);
for(int i=0;i< CycleManager.getSingletonObject().iHistCount;i++)
{
editor1.putLong("dtHistoryDate"+Integer.toString(i), CycleManager.getSingletonObject().dtHistory[i].getTime());
}
editor1.commit();
}
public void readFromRegister()
{
// Read history data from register
SharedPreferences preferences1 = getPreferences(MODE_PRIVATE);
CycleManager.getSingletonObject().iHistCount=preferences1.getInt("iHistcount", 0);
for(int i=0;i< CycleManager.getSingletonObject().iHistCount;i++)
{
Long x=preferences1.getLong("dtHistoryDate"+Integer.toString(i), 0L);
CycleManager.getSingletonObject().dtHistory[i]=new Date(x);
}
}
код для действия 2:
Button pBtnReset = new Button(this);
pBtnNextMonth.setOnClickListener(pBtnReset OnClickListener);
Button.OnClickListener pBtnReset OnClickListenernew Button.OnClickListener()
{
public void onClick(View arg0)
{
}
};
так что я должен написать во второй активности reset, чтобы очистить сохраненные данные
Ответы
Ответ 1
Получите Editor
и вызовите clear()
примерно так:
Изменить: как упоминается пользователь DDoSAttack.
Существует два способа получить SharedPreferences
1: получение значения по умолчанию SharedPreferences
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(con);
2: получение конкретных SharedPreferences
SharedPreferences prefs = Context.getSharedPreferences("FileName", Context.MODE_PRIVATE);
и вот как вы его очистите.
public void clear()
{
SharedPreferences prefs; // here you get your prefrences by either of two methods
Editor editor = prefs.edit();
editor.clear();
editor.commit();
}
Ответ 2
его очень легко..
yourEditor.remove(" thing you want to remove on start");
а затем дать must
yourEditor.commit();
Ответ 3
Если вы хотите стереть все данные в файле файла предпочтений clear()
из экземпляра SharedPreferences.Editor
http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#clear()
Ответ 4
Использовать метод SharedPreferences.Editor clear()
.
См. Документация
SharedPreferences preferences = getPreferences(0);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();