Table of Contents
আধুনিক অ্যান্ড্রয়েড অ্যাপ্লিকেশনে, ব্যবহারকারীর বাগদান করার সময় এবং নমনীয় মতামত প্রদান করা অত্যন্ত গুরুত্বপূর্ণ।
অবজারভার প্যাটার্ন বুঝতে পারা
দ্যা অবজারভার নকশাটি একটি আচরণগত নকশা যা বস্তুর মধ্যে একটি-অনেকটা নির্ভরতার উপর ভিত্তি করে স্থাপন করা। যখন বিষয়টির রাষ্ট্রীয় পরিবর্তন ঘটে, তখন এর সকল নির্ভর (বর্জ্য) রয়েছে। এই নকশাটি স্বয়ংক্রিয় ভাবে অভ্যুত্থান নিয়ন্ত্রণ করে এবং সিস্টেমকে আরো টেকসই করে।
অ্যান্ড্রয়েডের মাধ্যমে বিজ্ঞপ্তি সিস্টেমের সূচনা করা হচ্ছে
একটি নমনীয় সূচনাবার্তা ব্যবস্থা প্রয়োগের জন্য, আপনি পর্যবেক্ষকদের জন্য একটি ইন্টারফেস এবং একটি বিষয় নির্ধারণ করতে পারেন, যে শ্রেণী নিবন্ধন এবং পর্যবেক্ষকদের জন্য কাজ করে। ইনড্রয়েড এ্যান্ড্রয়েড বিভিন্ন ইভেন্টের মাধ্যমে বিভিন্ন অনুষ্ঠানে এর প্রতিনিধি হিসেবে কাজ করতে পারে।
অবজারভার ইন্টারফেস উপলব্ধি করা
সকল পর্যবেক্ষক যে একটি ইন্টারফেস তৈরি করবে, যে সকল ব্যবস্থাপনার জন্য ইন্টারফেস তার তালিকা থাকা উচিত ।
public interface NotificationObserver {
void onNotify(String message);
}
বিষয় তৈরি করা হচ্ছে
এই শ্রেণী পর্যবেক্ষকদের তালিকা বজায় রাখে এবং নিবন্ধন, নিবন্ধন করা এবং তাদের জানানো হয়।
public class NotificationSubject {
private List<NotificationObserver> observers = new ArrayList<>();
public void registerObserver(NotificationObserver observer) {
observers.add(observer);
}
public void unregisterObserver(NotificationObserver observer) {
observers.remove(observer);
}
public void notifyObservers(String message) {
for (NotificationObserver observer : observers) {
observer.onNotify(message);
}
}
}
অ্যান্ড্রয়েডের কাছ থেকে প্রাপ্ত সূচনাবার্তা
প্রত্যেক পর্যবেক্ষকের [FLT:] [FLT] পদ্ধতিতে, আপনি Adrndotation' র বিজ্ঞপ্তির জন্য একটি বিজ্ঞপ্তি প্রদর্শন করতে পারেন। এই ডিকো এই ইভেন্ট থেকে বিজ্ঞপ্তির যুক্তিগুলো বাতিল করে, নমনীয় এবং পুনরায় কোডের জন্য অনুমোদন করে।
উদাহরণস্বরূপ: বিজ্ঞপ্তি প্রদর্শন করা হবে
public class MyNotificationObserver implements NotificationObserver {
private Context context;
public MyNotificationObserver(Context context) {
this.context = context;
}
@Override
public void onNotify(String message) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, "channel_id")
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle("New Notification")
.setContentText(message)
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(context);
notificationManager.notify(1, builder.build());
}
}
এই প্যাটার্ন অনুসরণ করে, অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিভিন্ন ধরনের ঘোষণামূলক সূত্রকে হ্যান্ডেল করতে পারে, যাতে ব্যবহারকারীদের তাদের যোগাযোগ এবং পছন্দ সংক্রান্ত তাজা সংবাদ প্রদান করা হয়।
অন্তর্ভুক্ত
রিসাইকেলের নকশা ডিজাইন করা, নমনীয়ভাবে সূচনাবার্তা ব্যবস্থা বজায় রাখার জন্য একটি শক্তিশালী টুল ।