उदाहरण में जाने से पहले, हमें पता होना चाहिए कि सिंगलटन डिज़ाइन पैटर्न क्या है। सिंगलटन एक डिज़ाइन पैटर्न है जो किसी वर्ग की तात्कालिकता को केवल एक उदाहरण तक सीमित करता है। उल्लेखनीय उपयोगों में संगामिति को नियंत्रित करना और किसी एप्लिकेशन के डेटा स्टोर तक पहुंचने के लिए एक केंद्रीय पहुंच बिंदु बनाना शामिल है।
यह उदाहरण एंड्रॉइड में वैश्विक संदर्भ के साथ JSON ऑब्जेक्ट सिंगलटन को स्टोर करने के तरीके के बारे में प्रदर्शित करता है
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<बटन एंड्रॉइड:आईडी ="@ + आईडी /शो" एंड्रॉइड:टेक्स्ट ="सिंगलटोन में सेव जसन" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" /> उपरोक्त कोड में, हमने एक बटन लिया है। जब उपयोगकर्ता शो बटन पर क्लिक करता है, तो यह JSON ऑब्जेक्ट को टोस्ट में दिखाएगा।
चरण 3 - निम्न कोड को src/MainActivity.java
में जोड़ेंपैकेज com.example.andy.myapplication;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.Toast;import org.json.JSONException;import org.json.JSONObject;सार्वजनिक वर्ग MainActivity AppCompatActivity {बटन शो; JSONऑब्जेक्ट जेसनऑब्जेक्ट; सिंगलटनउदाहरण सिंगलटनउदाहरण; {कोशिश करें {jsonObject =नया JSONObject ("{\" बैलेंस \":1000.21, \"num\":100, \"is_vip\":true, \"name\":\"foo\"}"); } पकड़ें (JSONException e) { e.printStackTrace (); } } @Override संरक्षित शून्य onCreate (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); शो =findViewById (R.id.show); Singletonexample =singleTonExample.getInstance (); Singletonexample.init (getApplicationContext ()); शो.सेटऑनक्लिक लिस्टनर (नया व्यू। ऑनक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनक्लिक (व्यू वी) {सिंगलटनउदाहरण.स्टोरजसन (जेसनऑब्जेक्ट); टोस्ट.मेकटेक्स्ट (सिंगलटनएक्सैम्पल.गेट (), सिंगलटनएक्सएक्सएक्स। गेटजेएसओएन (), टोस्ट। लेंथ_लॉन्ग)। शो (); } }); }}उपरोक्त कोड में, हमने सिंगलटन उदाहरण को सिंगलटन क्लास के रूप में इस्तेमाल किया है, इसलिए सिंगलटनएक्सैम्पल.जावा के रूप में एक कॉल बनाएं और निम्नलिखित कोड जोड़ें -
पैकेज com.example.andy.myapplication;import android.app.Dialog;import android.content.Context;import android.view.Window;import org.json.JSONObject;import java.util.Arrays;public class singleTonExample {निजी संदर्भ ऐप कॉन्टेक्स्ट; JSONऑब्जेक्ट i1; निजी स्थिर अंतिम सिंगलटन उदाहरण हमारा इंस्टेंस =नया सिंगलटन उदाहरण (); सार्वजनिक शून्य init (संदर्भ संदर्भ) {अगर (appContext ==शून्य) {this.appContext =संदर्भ; } } निजी प्रसंग getContext() { वापसी appContext; } सार्वजनिक स्थैतिक संदर्भ प्राप्त करें () {वापसी getInstance ()। getContext (); } पब्लिक स्टैटिक सिंक्रोनाइज़्ड सिंगलटोनएक्सैम्पल getInstance() { हमारा इंस्टेंस लौटाएं; } निजी सिंगलटन उदाहरण () { } सार्वजनिक शून्य स्टोरजसन (JSONObject i1) {this.i1 =i1; } सार्वजनिक स्ट्रिंग getJSON () { वापसी i1.toString (); }}आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -
अब उपरोक्त बटन पर क्लिक करें, यह वैश्विक संदर्भ का उपयोग करते हुए टोस्ट में JSON ऑब्जेक्ट दिखाएगा जैसा कि नीचे दिखाया गया है -