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

And*_*Dev 19 android

我创建了一个活动,其中我使用共享首选项来存储数据..现在在另一个活动中我有一个重置按钮..当我点击重置按钮时,数据存储将丢失..所以如何做到这一点..我的代码是

activity1中的代码:

    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);
            }
    }
Run Code Online (Sandbox Code Playgroud)

活动2的代码:

Button pBtnReset = new Button(this); 
    pBtnNextMonth.setOnClickListener(pBtnReset OnClickListener);
    Button.OnClickListener pBtnReset OnClickListenernew Button.OnClickListener()
    {
                public void onClick(View arg0)
                {


                }
    };
Run Code Online (Sandbox Code Playgroud)

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

Adi*_*mro 49

得到你的Editor并打电话给clear()这样的事: 编辑:正如用户DDoSAttack所提到的那样.有两种获得方式SharedPreferences

1:获得默认 SharedPreferences

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(con);
Run Code Online (Sandbox Code Playgroud)

2:具体化 SharedPreferences

SharedPreferences prefs = Context.getSharedPreferences("FileName", Context.MODE_PRIVATE);
Run Code Online (Sandbox Code Playgroud)

以下是你将如何清除它.

public void clear()
{
     SharedPreferences prefs; // here you get your prefrences by either of two methods
     Editor editor = prefs.edit();
     editor.clear();
     editor.commit();
}
Run Code Online (Sandbox Code Playgroud)