একটি উদাহরণে যাওয়ার আগে, আমাদের জানা উচিত সিঙ্গলটন ডিজাইন প্যাটার্ন কী। একটি সিঙ্গেলটন হল একটি ডিজাইন প্যাটার্ন যা একটি ক্লাসের ইনস্ট্যান্টেশনকে শুধুমাত্র একটি উদাহরণে সীমাবদ্ধ করে। উল্লেখযোগ্য ব্যবহারগুলির মধ্যে রয়েছে কনকারেন্সি নিয়ন্ত্রণ করা এবং কোনও অ্যাপ্লিকেশনের ডেটা স্টোর অ্যাক্সেস করার জন্য অ্যাক্সেসের একটি কেন্দ্রীয় পয়েন্ট তৈরি করা৷
এই উদাহরণটি দেখায় কিভাবে 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/start" android:text = "start dialog in singleTone" android:layout_width = "wrap_content" android:layout_height = "wrap_content" /> <Button android:id = "@+id/end" android:text = "end dialog 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; public class MainActivity extends AppCompatActivity { Button start; singleTonExample singletonexample; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); start = 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(new View.OnClickListener() { @Override public void onClick(View v) { singletonexample.show(MainActivity.this); } }); } }
উপরের কোডে, আমরা singleTonExample ব্যবহার করেছি singleton ক্লাস হিসেবে তাই singleTonExample.java হিসেবে একটি কল তৈরি করুন এবং নিচের কোড যোগ করুন -
package com.example.andy.myapplication; import android.app.Dialog; import android.content.Context; import android.view.Window; public class singleTonExample { private Dialog dialog; private static final singleTonExample ourInstance = new singleTonExample(); public static 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(); } } }
উপরের কোডে, আমরা ডায়ালগের জন্য একটি বিষয়বস্তু ভিউ যোগ করেছি তাই res ফোল্ডারে layut_progress_dialog.xml হিসাবে একটি লেআউট তৈরি করুন এবং নিম্নলিখিত সামগ্রী যোগ করুন –
<?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android" android:orientation = "vertical" android:layout_width = "match_parent" android:layout_height = "match_parent" android:gravity = "center"> <ProgressBar android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:id = "@+id/progress" /> </LinearLayout>
আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইসটি নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে –
এখন সিঙ্গেলটনে শো ডায়ালগ এ ক্লিক করুন এটি নিচে দেখানো সিঙ্গেলটন ক্লাস থেকে ডায়ালগ দেখাবে –