यह उदाहरण दर्शाता है कि मैं Android में साझा प्राथमिकताओं में हैश मैप को कैसे सहेज सकता हूं।
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<एडिटटेक्स्ट एंड्रॉइड:आईडी ="@ + आईडी / एटगेम" एंड्रॉइड:लेआउट_विड्थ ="मैच_पेरेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड:संकेत ="पसंदीदा गेम" एंड्रॉइड:इनपुट टाइप ="टेक्स्ट" /> <बटन एंड्रॉइड:लेआउट_विड्थ ="मैच_पेरेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड:लेआउट_मार्जिनटॉप ="16 डीपी" एंड्रॉइड:ऑनक्लिक ="सहेजें" स्थानीय" android:text="स्थानीय सहेजें" />
चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ें <पूर्व>पैकेज app.com.sample;import android.content.Context;import android.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget. टोस्ट; आयात androidx.appcompat.app.AppCompatActivity; आयात org.json.JSONObject; आयात java.util.HashMap; आयात java.util.Iterator; आयात java.util.Map; आयात java.util.Objects; सार्वजनिक वर्ग MainActivity का विस्तार AppCompatActivity {अंतिम स्ट्रिंग mapKey ="मानचित्र"; एडिटटेक्स्ट एटनाम, एटएज, एटगेम; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); etName =findViewById (R.id.etName); etAge =findViewById (R.id.etAge); etGame =findViewById (R.id.etGame); मैप <स्ट्रिंग, ऑब्जेक्ट> आउटपुट मैप =लोडमैप (); अगर (outputMap.containsKey("name")) etName.setText(Objects.requireNonNull(outputMap.get("name")).toString ()); अगर (outputMap.containsKey("age")) etAge.setText(Objects.requireNonNull(outputMap.get("age")).toString ()); अगर (outputMap.containsKey("game")) etGame.setText(Objects.requireNonNull(outputMap.get("game")).toString ()); } सार्वजनिक शून्य सेवलोकल (दृश्य देखें) {स्ट्रिंग नाम =etName.getText ()। toString ()। ट्रिम (); स्ट्रिंग उम्र =etAge.getText ()। toString ()। ट्रिम (); स्ट्रिंग गेम =etGame.getText ()। toString ()। ट्रिम (); अगर (name.isEmpty ()) {etName.setError ("* आवश्यक"); etName.requestFocus (); } और अगर (आयु.isEmpty ()) { etAge.setError ("* आवश्यक"); etAge.requestFocus (); } और अगर (game.isEmpty ()) { etGame.setError ("* आवश्यक"); etGame.requestFocus (); } और {मानचित्र <स्ट्रिंग, वस्तु> इनपुट मैप =नया हैश मैप <> (); inputMap.put ("नाम", नाम); inputMap.put ("आयु", आयु); inputMap.put ("गेम", गेम); सेव मैप (इनपुट मैप); Toast.makeText (getApplicationContext (), "स्थानीय रूप से सहेजा गया!", टोस्ट। LENGTH_SHORT)। शो (); } } निजी शून्य सेव मैप (मैप <स्ट्रिंग, ऑब्जेक्ट> इनपुट मैप) {SharedPreferences pSharedPref =getApplicationContext ()। getSharedPreferences ("MyVariables", Context.MODE_PRIVATE); अगर (pSharedPref! =शून्य) {JSONObject jsonObject =नया JSONObject (इनपुट मैप); स्ट्रिंग jsonString =jsonObject.toString (); SharedPreferences.Editor Editor =pSharedPref.edit (); Editor.remove(mapKey).लागू करें (); संपादक.पुटस्ट्रिंग (मैपकी, जेसनस्ट्रिंग); संपादक। प्रतिबद्ध (); } } निजी मानचित्र <स्ट्रिंग, ऑब्जेक्ट> लोडमैप () {मानचित्र <स्ट्रिंग, ऑब्जेक्ट> आउटपुट मैप =नया हैश मैप <> (); SharedPreferences pSharedPref =getApplicationContext ()। getSharedPreferences ("MyVariables", Context.MODE_PRIVATE); कोशिश करें {अगर (pSharedPref! =नल) {स्ट्रिंग jsonString =pSharedPref.getString (mapKey, (नया JSONObject ())। toString ()); JSONObject jsonObject =नया JSONObject (jsonString); इटरेटर <स्ट्रिंग> कुंजियाँ आईटीआर =jsonObject.keys (); जबकि (keysItr.hasNext ()) {स्ट्रिंग कुंजी =keysItr.next (); outputMap.put (कुंजी, jsonObject.get (कुंजी)); } } } कैच (अपवाद ई) { ई.प्रिंटस्टैकट्रेस (); } आउटपुट मैप लौटाएं; }}पूर्व>चरण 4 - निम्नलिखित कोड को androidManifest.xml में जोड़ें
<एप्लिकेशन एंड्रॉइड:अनुमति बैकअप ="सच" एंड्रॉइड:आइकन ="@ मिपमैप / आईसी_लॉन्चर" एंड्रॉइड:लेबल ="@ स्ट्रिंग / ऐप_नाम" एंड्रॉइड:राउंडआईकॉन ="@ मिपमैप / आईसी_लॉन्चर_राउंड" एंड्रॉइड:सपोर्ट आरटीएल ="सच" एंड्रॉइड :theme="@style/AppTheme"> <गतिविधि android:name=".MainActivity"> <इरादे-फ़िल्टर> <कार्रवाई android:name="android.intent.action.MAIN" /> <श्रेणी android:name=" android.intent.category.LAUNCHER" />
आइए आपके एप्लिकेशन को चलाने का प्रयास करते हैं। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फाइलों में से एक खोलें और रन पर क्लिक करें टूलबार से आइकन। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -