software - android system download




SharePreferences से कुछ कुंजी/मूल्य जोड़ी को कैसे निकालें? (4)

SharePreferences से कुछ कुंजी / मूल्य जोड़ी को कैसे निकालें? मैंने इसे prefs से हटा दिया है।


यह ध्यान रखना महत्वपूर्ण है कि, जब तक आप प्रतिबद्ध () कॉल के रिटर्न वैल्यू के साथ कुछ करने की योजना बना रहे हैं, तब तक एसिंक्रोनस लागू () कॉल के बजाय सिंक्रोनस प्रतिबद्ध () कॉल का उपयोग करने का बिल्कुल कोई कारण नहीं है।

ध्यान रखें कि यदि आप इसे मुख्य / UI थ्रेड से कॉल कर रहे हैं, तो UI को तब तक अवरुद्ध कर दिया जाता है जब तक प्रतिबद्ध () पूरा नहीं हो जाता है। आवेदन के लिए लगभग 5ms तक लगाए गए यह लगभग 100ms ऊपर ले सकते हैं। यह बहुत अधिक प्रतीत नहीं होता है, लेकिन यदि एक आवेदन के दौरान लगातार किया जाता है, तो यह निश्चित रूप से जोड़ देगा।

तो, जब तक कि आप ऐसा कुछ करने की योजना बना रहे हों, उम्मीद है कि एक अलग थ्रेड पर:

editor.remove(String key); 
boolean success = editor.commit();
if (!success) { 
    // do something 
}

आपको इसके बजाय यह करना चाहिए:

editor.remove(String key); 
editor.apply();

यह बहुत सरल है:

private SharedPreferences sharedPreferences() {
    return PreferenceManager.getDefaultSharedPreferences(mContext);
}

public void clearSharedPreferences() {
    sharedPreferences()
            .edit()
            .remove(SOME_KEY_1)
            .remove(SOME_KEY_2)
            .remove(SOME_KEY_3)
            .apply();
}

जानकारी

बस sharedpref वर्ग को Map विस्तारित किया गया है, यही कारण है कि remove विधि है

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = prefs.edit();
editor.remove(String key);
editor.apply();

यहां संपादक साझा संदर्भ संपादक है।


SharedPreferences mySPrefs =PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = mySPrefs.edit();
editor.remove(String key);
editor.apply();

यहां संपादक साझा संदर्भ संपादक है।





android