एंड्रॉइड में साझा प्राथमिकताएं
आज, हम नमूना एप्लिकेशन के साथ डेटा स्टोर करने का सबसे आसान तरीका देखेंगे। आम तौर पर, जब हम डेटा संग्रहीत करने की बात करते हैं, तो हम पहले SQL, MongoDB, आदि के बारे में सोचते हैं, लेकिन, हम जल्द ही देखेंगे कि हमें साधारण डेटा के लिए उनकी आवश्यकता नहीं है ।
जब हम सरल डेटा कहते हैं, तो हम आम तौर पर उपयोगकर्ता की आयु , वे किस देश से हैं, और उनकी पसंदीदा सेटिंग जैसे डेटा रखते हैं . उपयोगकर्ता द्वारा एप्लिकेशन बंद करने पर भी यह डेटा नष्ट नहीं होता है।
साझा प्राथमिकताएं क्या है?
हम बिना किसी अतिरिक्त आवश्यकता के सरल डेटा रख सकते हैं। यह एक ऐसा स्ट्रक्चर है जो की-वैल्यू पेयर के साथ काम करता है। हम जिस प्रकार के डेटा को होल्ड कर सकते हैं, वे सीमित हैं; इंट, बूलियन, फ्लोट, लॉन्ग और स्ट्रिंग।
आइए अब इस संरचना का उपयोग एक एप्लिकेशन में करें जिसमें हम उपयोगकर्ता की आयु प्राप्त करते हैं और इसे सहेजते हैं। (मैं यहां गिटहब लिंक छोड़ देता हूं ।)
class MainActivity : AppCompatActivity() {
private lateinit var preferences : SharedPreferences
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
preferences = this.getSharedPreferences("com.aliduman.savemyage"
, Context.MODE_PRIVATE)
}
यह :
हम इसका उपयोग उस गतिविधि को दिखाने के लिए करते हैं जिसमें हम हैं।
com.aliduman.savemyage:
इस भाग में, यह हमसे केवल एक नाम पूछता है। आम तौर पर, हम इस हिस्से में पैकेज का नाम रखते हैं।
प्रसंग.MODE_PRIVATE:
मोड परिभाषित करता है कि कौन हमारे ऐप की प्राथमिकताओं तक पहुंच सकता है। निजी डिफ़ॉल्ट मोड है और सेट करता है कि इसे केवल इस ऐप से ही एक्सेस किया जा सकता है।
आइए परिभाषाएँ और सेटिंग करने के बाद SharedPreferences का उपयोग करें। हमारा लक्ष्य उपयोगकर्ता की उम्र दर्ज करना और सहेजना है, फिर इस उम्र को स्टोर करें और एप्लिकेशन को बंद करने और खोलने के बाद उपयोगकर्ता को दिखाएं।
var currentAge = preferences.getInt("age",-1)
getInt ():
यह विधि दिए गए मान को लौटाती है। यदि इसे पहले नहीं बनाया गया है, तो यह होगा।
आयु:
यह उस मूल्य की कुंजी है जिसे हम रखना चाहते हैं।
-1:
यदि कोई डेटा दर्ज नहीं किया गया है तो यह पैरामीटर हम डिफ़ॉल्ट रूप से मान निर्दिष्ट करने के लिए उपयोग करते हैं।
if (currentAge != -1) { //if user saved age before..
age_text.hint = currentAge.toString()
} else {//if first time user saved age
save_button.setOnClickListener {
var ageInput = Integer.valueOf(age_text.text.toString())
preferences.edit().putInt("age", ageInput).apply() //We save it to SharedPreferences.
}
}
संपादन करना()
हम इसका उपयोग अपने मूल्य में परिवर्तन या असाइनमेंट करने के लिए करते हैं।
पुटइंट ()
हम जो स्टोर करते हैं उसमें डेटा डालने के लिए हम इसका इस्तेमाल करते हैं।
आवेदन करना()
इन सभी परिवर्तनों को लागू करने के लिए इस पद्धति की आवश्यकता है।
उपयोगकर्ता 23 नंबर दर्ज करता है और सेव बटन दबाता है।↑
सुखद अंत, जब उपयोगकर्ता एप्लिकेशन में फिर से प्रवेश करता है, तो हम अपने एल्गोरिदम और साझा प्राथमिकताओं के साथ उसकी उम्र दिखा सकते हैं।↑
!चेतावनी!
मैंने साझा किए गए संदर्भों पर ध्यान केंद्रित करने के लिए शून्य जांच जैसे कुछ महत्वपूर्ण चरणों को छोड़ दिया। यह जांचना न भूलें कि उपयोगकर्ता द्वारा दर्ज किया गया डेटा शून्य है या नहीं। स्वच्छ कोड, विश्वसनीय कोड