उदाहरण में आने से पहले, हमें पता होना चाहिए कि सिंगलटन डिज़ाइन पैटर क्या है। सिंगलटन एक डिज़ाइन पैटर्न है जो किसी वर्ग की तात्कालिकता को केवल एक उदाहरण तक सीमित करता है। उल्लेखनीय उपयोगों में संगामिति को नियंत्रित करना, और किसी एप्लिकेशन के डेटा स्टोर तक पहुंचने के लिए एक केंद्रीय पहुंच बिंदु बनाना शामिल है।
यह उदाहरण एंड्रॉइड में हर एक घंटे में सिंगलटन क्लास को रिफ्रेश कैसे करें के बारे में प्रदर्शित करता है
चरण 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;import android.widget.Toast;import org.json.JSONException;import org.json.JSONObject;सार्वजनिक वर्ग MainActivity AppCompatActivity {बटन शो; JSONऑब्जेक्ट जेसनऑब्जेक्ट; सिंगलटनउदाहरण सिंगलटनउदाहरण; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); शो =findViewById (R.id.show); Singletonexample =singleTonExample.getInstance (); Singletonexample.init (getApplicationContext ()); शो.सेटऑनक्लिक लिस्टनर (नया व्यू। ऑनक्लिक लिस्टनर () {@ ओवरराइड पब्लिक वॉयड ऑनक्लिक (व्यू वी) { टोस्ट.मेकटेक्स्ट (मेनएक्टिविटी। यह, "रिफ्रेश सिंगलटन क्लास हर एक घंटे", टोस्ट। लेंगथ_लॉन्ग)। शो (); }}); }}पूर्व>उपरोक्त कोड में, हमने singleTonExample . का उपयोग किया है सिंगलटन वर्ग के रूप में। तो singleTonExample.java . के रूप में एक कॉल बनाएं और निम्न कोड जोड़ें -
पैकेज com.example.andy.myapplication;import android.content.Context;import java.util.Timer;import java.util.TimerTask;public class singleTonExample {निजी स्थैतिक सिंगलटन उदाहरण हमारा इंस्टेंस =नया सिंगलटन उदाहरण (); स्थिर {टाइमर टाइमर =नया टाइमर (); timer.schedule(new TimerTask() { public void run() {सिंक्रनाइज़ (singleTonExample.class) { ourInstance =new singleTonExample(); }}}, 60 * 60 * 1000L /* एक बार प्रति घंटे */); } निजी प्रसंग ऐपकॉन्टेक्स्ट; निजी सिंगलटन उदाहरण () { } सार्वजनिक स्थैतिक संदर्भ प्राप्त करें () {वापसी getInstance ()। getContext (); } पब्लिक स्टैटिक सिंक्रोनाइज़्ड सिंगलटोनएक्सैम्पल getInstance() { हमारा इंस्टेंस लौटाएं; } सार्वजनिक शून्य init (संदर्भ संदर्भ) { अगर (appContext ==शून्य) {this.appContext =संदर्भ; } } निजी प्रसंग getContext() {वापसी appContext; }}पूर्व>आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइल में से एक को खोलें और रन . पर क्लिक करें टूलबार से आइकन। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा -
अब ऊपर के बटन पर क्लिक करें, यह नीचे दिखाए अनुसार टोस्ट दिखाएगा -