2011-07-14 13 views
18

मैंने एक गतिविधि बनाई है जहां मैंने डेटा संग्रहीत करने के लिए साझा वरीयताओं का उपयोग किया है .. अब किसी अन्य गतिविधि में मेरे पास रीसेट बटन है .. जब मैं रीसेट बटन पर डेटा स्टोर पर क्लिक करता हूंसाझा वरीयताओं का उपयोग कर सभी संग्रहीत डेटा स्टोर को रीसेट करने के लिए कैसे करें

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


       } 
    }; 
तो क्या मैं में लिखने के लिए है

:

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 के लिए कोड: lost..so हो जाएगा कैसे है कि done..my कोड हो सकता है activity1 में

कोड है रों पारिस्थितिक गतिविधि रीसेट बटन ताकि यह संग्रहीत डेटा

उत्तर

48

अपने Editor और फोन clear() कुछ इस तरह हो जाओ चाहते हैं: संपादित करें: उपयोगकर्ता DDoSAttack mentio के रूप में नेड। वहाँ हो रही SharedPreferences

1 के दो तरीके हैं: हो रही विशिष्ट SharedPreferences

SharedPreferences prefs = Context.getSharedPreferences("FileName", Context.MODE_PRIVATE); 

और यहाँ आप इसे कैसे साफ़ करनी होगी है: डिफ़ॉल्ट SharedPreferences

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(con); 

2 हो रही है।

public void clear() 
{ 
    SharedPreferences prefs; // here you get your prefrences by either of two methods 
    Editor editor = prefs.edit(); 
    editor.clear(); 
    editor.commit(); 
} 
+0

कोई काम नहीं कर रहा है \ – AndroidDev

+0

मेरा संपादित उत्तर देखें। –

+0

@AdilSoomro परिवर्तनीय con 'getDefaultSharedPreferences (con) क्या है; '? क्या यह संदर्भ है? – NPE

3

SharedPreferences.Editor clear() विधि का उपयोग करें।

Documentation

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

     editor.clear(); 
     editor.commit(); 
+0

मेरी कोड कैसे मैं इसे कहते हैं यह आपके onClick पद्धति में है – AndroidDev

+0

इस कोड डाल सकते हैं दे। – Marmoy

4

देखें आप SharedPreferences.Editor उदाहरण से एक फ़ाइल वरीयता कॉल clear() में सभी डाटा मिटा करने के लिए

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

+2

इसके अलावा, मुझे नहीं लगता कि आपका कोड लिखा गया है जैसा लिखा है। आपको SharePreferences क्लास के लिए फ़ाइल नाम निर्दिष्ट करने की आवश्यकता है। तो यह इस तरह दिखना चाहिए: साझा किए गए प्राथमिकताएं प्राथमिकताएं 1 = getSharedPreferences ("file_name", MODE_PRIVATE); – rf43

4
इसकी बहुत आसान

..

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

और फिर जरूरी

yourEditor.commit(); 
संबंधित मुद्दे