उदाहरण में जाने से पहले, हमें पता होना चाहिए कि सिंगलटन डिज़ाइन पैटर्न क्या है। सिंगलटन एक डिज़ाइन पैटर्न है जो किसी वर्ग की तात्कालिकता को केवल एक उदाहरण तक सीमित करता है। उल्लेखनीय उपयोगों में संगामिति को नियंत्रित करना और किसी एप्लिकेशन के डेटा स्टोर तक पहुंचने के लिए एक केंद्रीय पहुंच बिंदु बनाना शामिल है।
सिंक्रोनाइज़्ड का मतलब है कि एक समय में केवल एक ही थ्रेड एक्सेस कर सकता है।
यह उदाहरण दर्शाता है कि एंड्रॉइड में सिंक्रोनाइज़ का उपयोग करके सिंगलटन डायलॉग का उपयोग कैसे करें
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<बटन एंड्रॉइड:आईडी ="@ + आईडी /स्टार्ट" एंड्रॉइड:टेक्स्ट ="सिंगलटोन में डायलॉग शुरू करें" एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" /> <बटन एंड्रॉइड:आईडी ="@ + आईडी / एंड" एंड्रॉइड:टेक्स्ट ="एंड डायलॉग सिंगलटोन "एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" /> लाइनरलाउट> पूर्व> उपरोक्त कोड में, हमने दो बटन लिए हैं। जब उपयोगकर्ता प्रारंभ बटन पर क्लिक करता है, तो यह प्रगति संवाद दिखाएगा और अंत बटन का उपयोग प्रगति संवाद को बंद करने के लिए किया जाता है।
चरण 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;public Class MainActivity AppCompatActivity का विस्तार करती है { बटन शुरू; सिंगलटनउदाहरण सिंगलटनउदाहरण; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); प्रारंभ =findViewById (R.id.start); Singletonexample =singleTonExample.getInstance (); findViewById(R.id.end).setOnClickListener(new View.OnClickListener() {@Override public void onClick(View v) { singletonexample.dismiss(); }}); start.setOnClickListener (नया व्यू। ऑनक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनक्लिक (व्यू वी) {सिंगलटनएक्सल। शो (मेनएक्टिविटी। यह);}}); }}पूर्व>उपरोक्त कोड में, हमने singleTonExample . का उपयोग किया है सिंगलटन वर्ग के रूप में इसलिए singleTonExample.java . के रूप में एक कॉल बनाएं और निम्नलिखित कोड जोड़ें-
<पूर्व>पैकेज com.example.andy.myapplication;import android.app.Dialog;import android.content.Context;import android.view.Window;public class singleTonExample { निजी डायलॉग डायलॉग; निजी स्थिर अंतिम सिंगलटन उदाहरण हमारा इंस्टेंस =नया सिंगलटन उदाहरण (); सार्वजनिक स्थैतिक सिंक्रनाइज़ सिंगलटन उदाहरण getInstance () {वापसी हमारा इंस्टेंस; } निजी सिंगलटन उदाहरण () { } सार्वजनिक शून्य शो (संदर्भ संदर्भ) { अगर (संवाद! =शून्य &&संवाद। isShowing ()) {वापसी; } डायलॉग =नया डायलॉग (संदर्भ); डायलॉग.requestWindowFeature (विंडो.FEATURE_NO_TITLE); डायलॉग.सेटकंटेंट व्यू (R.layout.layout_progress_dialog); संवाद.सेट रद्द करने योग्य (सच); डायलॉग.शो (); } सार्वजनिक शून्य खारिज () { अगर (संवाद! =शून्य &&संवाद। isShowing ()) {संवाद। खारिज (); } }}
उपरोक्त कोड में, हमने संवाद के लिए सामग्री दृश्य जोड़ा है इसलिए एक लेआउट बनाएं लेआउट_प्रोग्रेस_डायलॉग.एक्सएमएल के रूप में res फ़ोल्डर में और निम्नलिखित सामग्री जोड़ें -
आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और टूलबार से रन आइकन पर क्लिक करें। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -
अब सिंगलटन में शो डायलॉग पर क्लिक करें यह सिंगलटन क्लास से डायलॉग दिखाएगा जैसा कि नीचे दिखाया गया है -