जब मैं वरीयता गतिविधि बनाता हूं तो मैं xml फ़ाइल में सभी वरीयताओं को परिभाषित करता हूं। प्रत्येक वरीयता में इस एक्सएमएल में एक कुंजी परिभाषित की गई है। लेकिन जब मैं वरीयता का उपयोग मैं लिखने:एंड्रॉइड वरीयता कुंजी कहां स्टोर करें?
SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean foo_value = appPreferences.getBoolean("foo_key_defined_in_xml", false);
वहाँ किसी भी तरह से हार्ड-कोडेड रास्ते में "foo_key_defined_in_xml" संदर्भित से बचने के लिए है? शायद आर शैली के तरीके में संदर्भित करने की संभावना है (स्ट्रिंग को संदर्भित नहीं करने के लिए)?
यह सबसे अच्छा तरीका है क्योंकि यह आपको एक ही स्थान पर कुंजी बदलने के लिए और यह दोनों सेटिंग पृष्ठ पर प्रचार करेंगे और कहीं भी आप कोड में इसे संदर्भ अनुमति देता है। –
मैं इस वजह से के खिलाफ सलाह देंगे जब आप एक से अधिक भाषा एक्सएमएल फ़ाइलों का समर्थन, कुंजी स्ट्रिंग inadvertantly भी अनुवाद किया जा सकता है। –
ठीक है, आप जो केवल स्थिर मूल्यों और कोई अनुवाद हैं एक अलग फाइल में उन कुंजियों को बचाने चाहिए। – Hameno