2011-09-17 13 views
7

मेरे पास दो गतिविधियां हैं और बी। गतिविधि का एक फॉर्म है और सबमिट बटन पर क्लिक करके यह फ़ॉर्म डेटा को साझा वरीयता में सहेजता है। गतिविधि बी को गतिविधि द्वारा सहेजी गई साझा प्राथमिकताओं से डेटा पुनर्प्राप्त करना होगा। मैं इतने सारे मंचों से गुजर गया और के बजाय getSharedPreference(Filename,Mode) का उपयोग करने के लिए सुझाव मिला। लेकिन फिर भी यह काम नहीं करता है। गतिविधि में कक्षा बनाने के बजाय इस काम को करने के लिए कोई अन्य तरीका है विशेष रूप से सार्वजनिक उपयोग के लिए साझा वरीयता मान निकालने के लिए।एंड्रॉइड में गतिविधियों के बीच साझा वरीयता तक कैसे पहुंचे?

कृपया इसके लिए एक आदर्श समाधान सुझाएं। मैंने मोड को WORLD_READABLE के रूप में भी इस्तेमाल किया।

+0

कृपया कोड साझा करें कि आप अपने साझा किए गए संदर्भों को सहेज रहे हैं। –

+0

कृपया मेरा कोड यहां देखें - http://pastebin.com/0W64gnEt। कृपया मेरे कोड में "XYZ12345" शब्द खोजें जहां मैंने टिप्पणी के रूप में अपनी समस्या लिखी है। मैं समाधान पाने के लिए बाध्य होगा। धन्यवाद –

उत्तर

3

मुझे लगता है कि समस्या यह है कि संपादक वास्तव में आपके SharedPreferences को खोलने के कारण परिवर्तन नहीं कर रहा है।

SharedPreferences.Editor editor = getSharedPreferences("udata",MODE_WORLD_READABLE).edit(); 

बदलें Context.MODE_PRIVATE को MODE_WORLD_READABLE और देखते हैं कि अगर मदद करता है।

+0

servState = 1; editor.putInt ("AppState", servState); editor.commit(); मैंने उपरोक्त कोड में बदलाव किए हैं। प्रारंभ में मैं केवल MODE_PRIVATE का उपयोग कर रहा था लेकिन चूंकि यह काम नहीं करता है, इसलिए मैंने MODE_WORLD_READABLE मोड का उपयोग किया था। कोई अन्य सुझाव कृपया –

+0

आपको प्रतिबद्ध कोड डीबग करना चाहिए, सुनिश्चित करें कि mPwd.getText()। toString() शून्य वापस नहीं आ रहा है, और सुनिश्चित करें कि प्रतिबद्धता काम कर रही है। –

+0

मुझे एक ही समस्या है, जब मैं ऑन्रेस्यूम() को वापस भेजता हूं, तो "pref.getBoolean (Constant.PREF_KEY, true)" या स्टार्टक्टिविटी (...); समाप्त(); – vuhung3990

0

आप PreferenceManager.getDefaultSharedPreferences का उपयोग करने का प्रयास कर सकते हैं। जावाडॉक यहां है: http://developer.android.com/reference/android/preference/PreferenceManager.html

आपके अन्य प्रयासों को काम करना चाहिए, लेकिन कोड को देखे बिना मुझे यकीन नहीं है कि यह क्यों नहीं है।

0

कुछ प्रारंभिक समस्या थी। अब मुझे समाधान मिला। आपके सभी समर्थन के लिए धन्यवाद