উদাহরণে আসার আগে, আমাদের জানা উচিত সিঙ্গলটন ডিজাইন প্যাটার্ন কী। একটি সিঙ্গেলটন হল একটি ডিজাইন প্যাটার্ন যা একটি ক্লাসের ইনস্ট্যান্টেশনকে শুধুমাত্র একটি উদাহরণে সীমাবদ্ধ করে। উল্লেখযোগ্য ব্যবহারগুলির মধ্যে রয়েছে কনকারেন্সি নিয়ন্ত্রণ করা এবং কোনও অ্যাপ্লিকেশনের ডেটা স্টোর অ্যাক্সেস করার জন্য অ্যাক্সেসের একটি কেন্দ্রীয় পয়েন্ট তৈরি করা৷
এই উদাহরণটি android-এ গ্লোবাল কনটেক্সট সহ অ্যারে সিঙ্গেলটন কীভাবে সঞ্চয় করতে হয় সে সম্পর্কে প্রদর্শন করে
ধাপ 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"> <Button android:id = "@+id/show" android:text = "save array in singleTone" android:layout_width = "wrap_content" android:layout_height = "wrap_content" /> </LinearLayout>
উপরের কোডে, আমরা একটি বোতাম নিয়েছি। ব্যবহারকারী শো বোতামে ক্লিক করলে, এটি টোস্টে অ্যারের মান দেখাবে।
ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনpackage 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; public class MainActivity extends AppCompatActivity { Button show; int[] i1 = new int[] { 33, 12, 98 }; singleTonExample singletonexample; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); show = findViewById(R.id.show); singletonexample = singleTonExample.getInstance(); singletonexample.init(getApplicationContext()); show.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { singletonexample.storeArray(i1); Toast.makeText(singleTonExample.get(),singletonexample.getArray(), Toast.LENGTH_LONG).show(); } }); } }
উপরের কোডে, আমরা singleTonExample ব্যবহার করেছি singleton ক্লাস হিসেবে তাই singleTonExample.java নামে একটি কল তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন-
package com.example.andy.myapplication; import android.app.Dialog; import android.content.Context; import android.view.Window; import java.util.Arrays; public class singleTonExample { private Context appContext; private Dialog dialog; int[] i1; private static final singleTonExample ourInstance = new singleTonExample(); public void init(Context context) { if(appContext == null) { this.appContext = context; } } private Context getContext() { return appContext; } public static Context get() { return getInstance().getContext(); } public static synchronized singleTonExample getInstance() { return ourInstance; } private singleTonExample() { } public void show(Context context) { if (dialog != null && dialog.isShowing()) { return; } dialog = new Dialog(context); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.layout_progress_dialog); dialog.setCancelable(true); dialog.show(); } public void dismiss() { if (dialog != null && dialog.isShowing()) { dialog.dismiss(); } } public void storeArray(int[] i1) { this.i1 = i1; } public String getArray() { return Arrays.toString(i1); } }
আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইসটি নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে –
এখন উপরের বোতামে ক্লিক করুন, এটি নীচে দেখানো হিসাবে গ্লোবাল কনটেক্সট ব্যবহার করে টোস্টে অ্যারের মান দেখাবে –