2010-08-27 21 views
87

में NSUserDefaults के एंड्रॉइड समकक्ष मैं कुछ सरल डेटा को सहेजना चाहता हूं। आईफोन पर, मैं इसे उद्देश्य-सी में NSUserDefaults के साथ कर सकता हूं।आईएसओ

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

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

उत्तर

182

यह सबसे सरल उपाय मैंने पाया है:

//--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); 

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

+0

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

+0

मैंने कोड में त्रुटि तय की है (गैर-अस्तित्व प्राप्त करने के लिए कॉल कर रहा था, न कि शेयरधारक प्राप्त करें)। –

+10

अपडेट 2015: एंड्रॉइड अब() पर लागू() के उपयोग की सिफारिश करता है क्योंकि लागू() लगातार डेटा को संग्रहीत करने के बजाय पृष्ठभूमि थ्रेड पर काम करता है और मुख्य थ्रेड को अवरुद्ध कर सकता है। – AppsIntheParkNYC

संबंधित मुद्दे