উদাহরণে যাওয়ার আগে, আমাদের জানা উচিত সিঙ্গলটন ডিজাইন প্যাটার্ন কী। একটি সিঙ্গেলটন হল একটি ডিজাইন প্যাটার্ন যা একটি ক্লাসের ইনস্ট্যান্টেশনকে শুধুমাত্র একটি উদাহরণে সীমাবদ্ধ করে। উল্লেখযোগ্য ব্যবহারগুলির মধ্যে রয়েছে কনকারেন্সি নিয়ন্ত্রণ করা এবং কোনও অ্যাপ্লিকেশনের ডেটা স্টোর অ্যাক্সেস করার জন্য অ্যাক্সেসের একটি কেন্দ্রীয় পয়েন্ট তৈরি করা৷
এই উদাহরণটি দেখায় কিভাবে অ্যান্ড্রয়েডে সিঙ্গেলটন ক্লাস ব্যবহার করতে হয়
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে প্রয়োজনীয় সমস্ত বিবরণ পূরণ করুন৷
ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।
<?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android" xmlns:tools = "https://schemas.android.com/tools" android:layout_width = "match_parent" android:layout_height = "match_parent" tools:context = ".MainActivity" android:orientation = "vertical"> <EditText android:id = "@+id/editText" android:layout_width = "match_parent" android:layout_height = "wrap_content" android:hint = "Enter text" /> <Button android:id = "@+id/save" android:text = "save in singleTone" android:layout_width = "wrap_content" android:layout_height = "wrap_content" /> </LinearLayout>
উপরের কোডে আমরা edit Ext এবং বাটন নিয়েছি। যখন ব্যবহারকারী একটি বোতামে ক্লিক করেন, তখন এটি পাঠ্য সম্পাদনা থেকে ডেটা নেবে এবং একটি সিঙ্গেলটন ক্লাসে সংরক্ষণ করবে এবং একটি টোস্টে সিঙ্গেলটন ক্লাস থেকে মান প্রদর্শন করবে৷
ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনpackage com.example.andy.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { EditText editText; Button save; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = findViewById(R.id.editText); save = findViewById(R.id.save); save.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(editText.getText().toString().isEmpty()) { editText.setError("Enter text"); }else{ String editValue = editText.getText().toString(); singleTonExample singletonexample = com.example.andy.myapplication.singleTonExample.getInstance(); singletonexample.setText(editValue); Toast.makeText(MainActivity.this,singletonexample.getText(),Toast.LENGTH_LONG).show(); } } }); } }
উপরের কোডে, আমরা singleTonExample ব্যবহার করেছি singleton ক্লাস হিসেবে তাই singleTonExample.java নামে একটি কল তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন-
package com.example.andy.myapplication; import java.security.Identity; public class singleTonExample { String editValue; private static final singleTonExample ourInstance = new singleTonExample(); public static singleTonExample getInstance() { return ourInstance; } private singleTonExample() { } public void setText(String editValue) { this.editValue = editValue; } public String getText() { return editValue; } }
আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে –
উপরের ফলাফলে, আমরা tutorialspoint.com হিসাবে লিখেছি” এখন বোতামটিতে ক্লিক করুন এটি সিঙ্গেলটন ক্লাস থেকে ডেটা নেবে এবং নীচের মতো টোস্টে দেখাবে –