2010-10-19 9 views
5

आप इस तरह के नीचे के रूप में एक साझा वरीयता स्थापित जब ...पहुँच साझा पसंद

public static final String PREFS_HI = "MyPrefsFile"; 

आप अन्य गतिविधियों से उस तक पहुंच सकते हैं, जैसे आप सामान्य रूप से करना होगा?

SharedPreferences settings = getSharedPreferences(PREFS_HI, 0); 

या वहां कुछ अद्वितीय है कि आप प्राथमिकताओं तक पहुँच करने के लिए क्या करना चाहिए?

उत्तर

1

इसे स्वयं समझ लिया। मैंने अभी वैश्विक वैरिएबल और संग्रहीत साझा संदर्भों का उपयोग किया है। जब एक और गतिविधि वरीयताओं तक पहुंचना चाहती थी, तो यह एक वैश्विक चर का उपयोग आसान होगा।

+0

आप क्या आपका मतलब है '' सार्वजनिक static' के रूप में जमा SharedPreferences'? आपको वास्तव में ऐसा नहीं करना चाहिए। मैंने वही गलती की और भले ही यह काम करता है, यह एक बड़ी स्मृति रिसाव का कारण बनता है। देखें: http://android-developers.blogspot.in/2009/01/avoiding-memory-leaks.html –

3

मैं संसाधनों xml फ़ाइल (strings.xml) में आपके साझा प्राथमिकता नाम (जिसे आप PREFS_HI कहते हैं) संग्रहीत करेंगे। फिर आप getSharedPreferences(getResources().getString(R.string.sharedPrefs)) का उपयोग कर सकते हैं। आपका समाधान भी काम करता है, यद्यपि। (और प्रदर्शन अपने संस्करण में थोड़ा बेहतर हो सकता है।)

+0

हां, मैंने इस विकल्प को भी देखा। –

0

getApplication()। GetSharedPreferences (नाम, मोड) की कोशिश इस