如何使用共享首选项重置所有存储数据存储

时间:2011-07-14 14:11:09

标签: android

我创建了一个活动,其中我使用共享首选项来存储数据..现在在另一个活动中我有一个重置按钮..当我点击重置按钮时,数据存储将丢失..那怎么可能是完成..我的代码是

活动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)
                {


                }
    };

所以我必须在第二个活动重置按钮中写入,以便清除存储的数据

4 个答案:

答案 0 :(得分:49)

获取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();
}

答案 1 :(得分:4)

如果要清除偏好文件中的所有数据,请从clear()实例

调用SharedPreferences.Editor

http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#clear()

答案 2 :(得分:4)

非常容易..

yourEditor.remove(" thing you want to remove on start");

然后给必须

yourEditor.commit();

答案 3 :(得分:3)

使用SharedPreferences.Editor clear()方法。

请参阅Documentation

SharedPreferences preferences = getPreferences(0);
        SharedPreferences.Editor editor = preferences.edit();

        editor.clear();
        editor.commit();