import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
अपडेट करें
साझा वरीयताएँ के अनुसार | साईं गीता एमएन द्वारा एंड्रॉइड डेवलपर ट्यूटोरियल (भाग 13) ,
कई एप्लिकेशन विशिष्ट एप्लिकेशन या किसी गतिविधि की सेटिंग्स पर उपयोगकर्ता की प्राथमिकताओं को पकड़ने का एक तरीका प्रदान कर सकते हैं। इसका समर्थन करने के लिए, Android एपीआई का एक सरल सेट प्रदान करता है।
प्राथमिकताएं आमतौर पर नाम जोड़े हैं। उन्हें एक एप्लिकेशन में विभिन्न गतिविधियों में "साझा प्राथमिकताएं" के रूप में संग्रहीत किया जा सकता है (ध्यान दें कि वर्तमान में इसे प्रक्रियाओं में साझा नहीं किया जा सकता है)। या यह कुछ ऐसा हो सकता है जिसे किसी गतिविधि के लिए विशिष्ट रूप से संग्रहीत किया जाना चाहिए।
साझा प्राथमिकताएँ: साझा प्राथमिकताओं का उपयोग अनुप्रयोगों के सभी घटकों (गतिविधियों, सेवाओं आदि) द्वारा किया जा सकता है।
गतिविधि ने प्राथमिकताएँ संभाला: इन प्राथमिकताओं का उपयोग केवल विशेष गतिविधि के भीतर किया जा सकता है और इसका उपयोग अनुप्रयोग के अन्य घटकों द्वारा नहीं किया जा सकता है।
साझा प्राथमिकताएँ:
साझा वरीयताओं को कक्षा की getSharedPreferences
विधि की सहायता से प्रबंधित किया जाता है Context
। प्राथमिकताओं को एक डिफ़ॉल्ट फ़ाइल (1) में संग्रहीत किया जाता है या आप वरीयताओं को संदर्भित करने के लिए उपयोग किए जाने वाले फ़ाइल नाम (2) को निर्दिष्ट कर सकते हैं ।
(1) अनुशंसित तरीका फ़ाइल नाम निर्दिष्ट किए बिना, डिफ़ॉल्ट मोड द्वारा उपयोग करना है
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(२) यहाँ फ़ाइल नाम निर्दिष्ट करने पर आपको उदाहरण मिलता है
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
अन्य अनुप्रयोगों के मामले में भी बनाई गई फ़ाइल के लिए लिखने की अनुमति है।
अंत में, जब आपके पास वरीयताएँ होती हैं, तो यहां बताया गया है कि आप वरीयताओं से संग्रहीत मूल्यों को कैसे प्राप्त कर सकते हैं:
int storedPreference = preferences.getInt("storedInt", 0);
वरीयता फ़ाइल ऑब्जेक्ट में मानों को संग्रहीतSharedPreference.Editor
करने के लिए उपयोग किया जाना है। वर्ग 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
। पैकेज अनुप्रयोग वरीयताओं को लागू करने के लिए कक्षाओं को परिभाषित करता है यूआई।
कुछ और उदाहरण देखने के लिए डेवलपर्स साइट पर एंड्रॉइड के डेटा स्टोरेज पोस्ट की जांच करें ।