मैं SharedPreferences
API का उपयोग कर तारों का एक सेट स्टोर करने का प्रयास कर रहा हूं।साझा व्यवहारों का उपयोग करते हुए एक स्ट्रिंग सेट को स्टोर करने का प्रयास करते समय दुर्व्यवहार
Set<String> s = sharedPrefs.getStringSet("key", new HashSet<String>());
s.add(new_element);
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString(s);
edit.commit()
पहली बार मैं ऊपर कोड निष्पादित, s
डिफ़ॉल्ट मान पर सेट किया जाता है (अभी बनाया अंत खाली HashSet
) है और यह समस्याओं के बिना संग्रहित है।
दूसरी और अगली बार जब मैं इस कोड को निष्पादित करता हूं, तो s
ऑब्जेक्ट को पहले तत्व के साथ वापस कर दिया जाता है। मैं तत्व जोड़ सकता हूं, और प्रोग्राम निष्पादन के दौरान, यह स्पष्ट रूप से SharedPreferences
में संग्रहीत है, लेकिन जब प्रोग्राम मारे जाते हैं, तो SharedPreferences
अपने निरंतर भंडारण से फिर से पढ़ता है और नए मान गुम हो जाते हैं।
दूसरा, और उसके बाद तत्व कैसे संग्रहीत किए जा सकते हैं ताकि वे खो जाएंगे?
कोड को editor.putStringSet() को कॉल नहीं करना चाहिए? – bluehallu