IOS में NSUserDefaults का Android समकक्ष


103

मैं कुछ सरल डेटा सहेजना चाहूंगा। IPhone पर, मैं इसे NSUserDefaultsObjective-C में कर सकता हूं ।

एंड्रॉइड में यहां समान कमांड क्या है?

जब तक एप्लिकेशन इंस्टॉल किया जाता है, तब तक मैं केवल कुछ चर बचा रहा हूं। मैं ऐसा करने के लिए केवल एक जटिल डेटाबेस का उपयोग नहीं करना चाहता।

जवाबों:


210

यह सबसे सरल समाधान है जो मैंने पाया है:

//--Init
int myvar = 12;


//--SAVE Data
SharedPreferences preferences = context.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);  
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("var1", myvar);
editor.commit();


//--READ data       
myvar = preferences.getInt("var1", 0);  

कहाँ 'संदर्भ' वर्तमान संदर्भ है (उदाहरण के लिए एक गतिविधि उपवर्ग में हो सकता है इस )।


यह बहुत ही सरल चीजों को संग्रहीत करने के लिए जाने का तरीका है, इसकी सरल और सीधे बिंदु पर है
smith324

मैंने कोड में त्रुटि को ठीक किया था (गैर-मौजूद getPreferences कॉल कर रहा था, getSaredPreferences नहीं)।
बेन क्लेटन

14
अद्यतन २०१५: एंड्रॉइड लागू करने की अनुशंसा करता है (अब ओवर कमिट) (क्योंकि लागू) बैकग्राउंड थ्रेड पर काम करता है, इसके बजाय लगातार डेटा को संग्रहीत करना और मुख्य थ्रेड को ब्लॉक करना संभव है।
AppsIntheParkNYC

क्या इस साझा कोड को jni कोड से एक्सेस करने का कोई तरीका है?
इगोरगानापल्स्की

2
भीतर से 'संदर्भ' प्राप्त करने के लिए AppCompatActivity, आप उपयोग कर सकते हैंgetApplicationContext()
ब्रेनवेयर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.