कई एप्लिकेशन एक विशिष्ट अनुप्रयोग या एक गतिविधि की सेटिंग्स पर उपयोगकर्ता वरीयताओं पर कब्जा करने के लिए एक रास्ता प्रदान कर सकता है। इसका समर्थन करने के लिए, एंड्रॉइड एपीआई का एक सरल सेट प्रदान करता है।
प्राथमिकताएं आम तौर पर नाम मूल्य जोड़े हैं। उन्हें किसी एप्लिकेशन में विभिन्न गतिविधियों में "साझा प्राथमिकताएं" के रूप में संग्रहीत किया जा सकता है (वर्तमान में नोट करें कि इसे प्रक्रियाओं में साझा नहीं किया जा सकता है)। या यह ऐसा कुछ हो सकता है जिसे किसी गतिविधि के लिए विशिष्ट रूप से संग्रहीत करने की आवश्यकता हो।
साझा प्राथमिकताएं: साझा वरीयताओं सभी घटकों (गतिविधियों, सेवाओं आदि) अनुप्रयोगों बंद के द्वारा प्रयोग किया जा सकता है।
गतिविधि संभाला प्राथमिकताएं: ये प्राथमिकताएं केवल गतिविधि में साथ इस्तेमाल किया जा सकता है और आवेदन के अन्य घटकों के द्वारा नहीं किया जा सकता है।
साझा प्राथमिकताएं:
साझा वरीयताओं Context
वर्ग के getSharedPreferences
विधि की मदद से प्रबंधित कर रहे हैं। वरीयताओं को एक डिफ़ॉल्ट फ़ाइल (1) में संग्रहीत किया जाता है या आप वरीयताओं को संदर्भित करने के लिए उपयोग किए जाने के लिए फ़ाइल नाम (2) निर्दिष्ट कर सकते हैं।
(1) यहाँ जब आप फ़ाइल नाम
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
निर्दिष्ट वरीयताओं के लिए ऑपरेटिंग मोड है कि कैसे आप उदाहरण मिलता है। यह डिफ़ॉल्ट मोड है और इसका मतलब है कि बनाई गई फ़ाइल केवल कॉलिंग एप्लिकेशन द्वारा एक्सेस की जाएगी। अन्य दो समर्थित मोड MODE_WORLD_READABLE
और MODE_WORLD_WRITEABLE
हैं। MODE_WORLD_READABLE
में अन्य एप्लिकेशन बनाई गई फ़ाइल को पढ़ सकते हैं लेकिन इसे संशोधित नहीं कर सकते हैं। MODE_WORLD_WRITEABLE
के मामले में अन्य अनुप्रयोगों में भी बनाई गई फ़ाइल के लिए लेखन अनुमतियां होती हैं।
(2) सुझाया गया तरीका फ़ाइल नाम निर्दिष्ट किए बिना, डिफ़ॉल्ट मोड द्वारा उपयोग करने के लिए है: अंत में
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
, एक बार आप वरीयताओं उदाहरण है, यहाँ आप कैसे प्राप्त कर सकते हैं है संग्रहीत मूल्यों वरीयताओं से:
int storedPreference = preferences.getInt("storedInt", 0);
करने के लिए दुकान वरीयता फ़ाइलमें को महत्व देता है 0 ऑब्जेक्ट का उपयोग किया जाना चाहिए। Editor
SharedPreference
कक्षा का नेस्टेड इंटरफ़ेस है।
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
remove()
और clear()
तरह के तरीकों संपादक भी समर्थन फ़ाइल से वरीयता मूल्य नष्ट करने के लिए।
गतिविधि पसंद:
साझा वरीयताओं अन्य एप्लिकेशन घटकों द्वारा उपयोग किया जा सकता है। लेकिन अगर आपको वरीयताओं को अन्य घटकों के साथ साझा करने की आवश्यकता नहीं है और गतिविधियों को निजी प्राथमिकताएं रखना चाहते हैं। आप गतिविधि के getPreferences()
विधि की सहायता से ऐसा कर सकते हैं। getPreference
विधि प्राथमिकता फ़ाइल नाम के लिए गतिविधि वर्ग के नाम के साथ getSharedPreferences()
विधि का उपयोग करती है।
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
मान संग्रहीत करने के लिए कोड भी साझा वरीयताओं के मामले में के रूप में ही है:
बाद वरीयताओं प्राप्त करने के लिए कोड है।
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
आप डेटाबेस में गतिविधि स्थिति संग्रहीत करने जैसी अन्य विधियों का भी उपयोग कर सकते हैं। नोट एंड्रॉइड में android.preference
नामक एक पैकेज भी शामिल है। पैकेज एप्लिकेशन वरीयताओं UI को लागू करने के लिए कक्षाओं को परिभाषित करता है।
कुछ और उदाहरण देखने के लिए डेवलपर साइट पर एंड्रॉइड के Data Storage पोस्ट की जांच करें।
कृपया देव मार्गदर्शिका में [डेटा संग्रहण] (http://developer.android.com/guide/topics/data/data-storage.html) के बारे में पढ़ें। – Loxley