একটি উদাহরণে যাওয়ার আগে, আমাদের জানা উচিত সিঙ্গলটন ডিজাইন প্যাটার্ন কী। একটি সিঙ্গেলটন হল একটি ডিজাইন প্যাটার্ন যা একটি ক্লাসের ইনস্ট্যান্টেশনকে শুধুমাত্র একটি উদাহরণে সীমাবদ্ধ করে। উল্লেখযোগ্য ব্যবহারগুলির মধ্যে রয়েছে কনকারেন্সি নিয়ন্ত্রণ করা এবং কোনও অ্যাপ্লিকেশনের ডেটা স্টোর অ্যাক্সেস করার জন্য অ্যাক্সেসের একটি কেন্দ্রীয় পয়েন্ট তৈরি করা৷
এই উদাহরণটি দেখায় কিভাবে android-এ Singleton Notification ব্যবহার করতে হয়
ধাপ 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 = "Show notification from singleTone" android:layout_width = "wrap_content" android:layout_height = "wrap_content" /> </LinearLayout>
উপরের কোডে, আমরা একটি বোতাম নিয়েছি। ব্যবহারকারী শো বোতামে ক্লিক করলে, এটি সিঙ্গেলটন ক্লাস থেকে বিজ্ঞপ্তি দেখাবে।
ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনpackage com.example.andy.myapplication; import android.os.Build; import android.os.Bundle; import android.support.annotation.RequiresApi; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { Button show; 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() { @RequiresApi(api = Build.VERSION_CODES.O) @Override public void onClick(View v) { singletonexample.notification(MainActivity.this); } }); } }
উপরের কোডে, আমরা singleton ক্লাস হিসেবে singleton Example ব্যবহার করেছি তাই singleTonExample.java নামে একটি কল তৈরি করুন। এবং নিম্নলিখিত কোড যোগ করুন -
package com.example.andy.myapplication; import android.app.AlertDialog; import android.app.Notification; import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; import android.content.DialogInterface; import android.graphics.Color; import android.os.Build; import android.speech.tts.TextToSpeech; import android.support.annotation.RequiresApi; import android.widget.Toast; public class singleTonExample { public static final String ANDROID_CHANNEL_ID = "com.example.andy.myapplication"; private static singleTonExample ourInstance = new singleTonExample(); private Context appContext; private singleTonExample() { } public static Context get() { return getInstance().getContext(); } public static synchronized singleTonExample getInstance() { return ourInstance; } public void init(Context context) { if (appContext = = null) { this.appContext = context; } } private Context getContext() { return appContext; } @RequiresApi(api = Build.VERSION_CODES.O) public void notification(final MainActivity mainActivity) { NotificationManager notif =(NotificationManager)mainActivity.getSystemService(Context.NOTIFICATION_SERVICE); NotificationChannel androidChannel = new NotificationChannel(ANDROID_CHANNEL_ID, "Notification Channel", NotificationManager.IMPORTANCE_DEFAULT); androidChannel.enableLights(true); androidChannel.enableVibration(true); androidChannel.setLightColor(Color.GREEN); androidChannel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE); notif.createNotificationChannel(androidChannel); Notification notify = null; notify = new Notification.Builder(mainActivity,ANDROID_CHANNEL_ID).setContentTitle("Notification").setContentText("Sample Text"). setContentTitle("Sample Subject").setSmallIcon(R.mipmap.ic_launcher).build(); notif.notify(0, notify); } }
আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে –
এখন উপরের বোতামে ক্লিক করুন, এটি নিচের মতো সিঙ্গেলটন ক্লাস থেকে বিজ্ঞপ্তি দেখাবে -.