লোকালব্রডকাস্টম্যানেজার অবহিত করা হয়েছে, পরিবর্তে পর্যবেক্ষণযোগ্য প্যাটার্নের প্রয়োগগুলি ব্যবহার করুন।
androidx.localbroadcastmanager 1.1.0 সংস্করণে অবচয় করা হচ্ছে
কারণ
LocalBroadcastManagerঅ্যাপ্লিকেশন-ব্যাপী ইভেন্ট বাস এবং আপনার অ্যাপ্লিকেশনটিতে স্তর লঙ্ঘনকে আলিঙ্গন করে; যে কোনও উপাদান অন্য কোনও উপাদান থেকে ইভেন্টগুলি শুনতে পারে। এটি সিস্টেম ব্রডকাস্টম্যানেজারের অপ্রয়োজনীয় ব্যবহারের ক্ষেত্রে সীমাবদ্ধতার উত্তরাধিকার সূত্রে প্রাপ্ত; বিকাশকারীদের উদ্দেশ্যগুলি ব্যবহার করতে হবে যদিও বস্তুগুলি কেবলমাত্র একটি প্রক্রিয়াতে থাকে এবং কখনই এটি ছেড়ে যায় না। এই একই কারণে, এটি বৈশিষ্ট্য ভিত্তিক ব্রডকাস্ট ম্যানেজারটি অনুসরণ করে না।
এগুলি একটি বিভ্রান্তিকর বিকাশকারীদের অভিজ্ঞতা জুড়ে দেয়।
প্রতিস্থাপন
আপনি LocalBroadcastManagerপর্যবেক্ষণযোগ্য প্যাটার্নের অন্যান্য বাস্তবায়নের সাথে ব্যবহারের স্থান পরিবর্তন করতে পারেন । আপনার ব্যবহারের ক্ষেত্রে উপর নির্ভর করে উপযুক্ত বিকল্পগুলি LiveDataবা প্রতিক্রিয়াশীল স্ট্রিম হতে পারে ।
লাইভডাটার সুবিধা
আপনি LiveDataসিস্টেম অ্যাপ্লিকেশনগুলিকে মোড়ানোর জন্য সিঙ্গলটন প্যাটার্ন ব্যবহার করে কোনও বস্তু প্রসারিত করতে পারেন যাতে সেগুলি আপনার অ্যাপে ভাগ করা যায়। LiveDataসিস্টেম সেবা একবার, এবং তারপর কোনো পর্যবেক্ষক যে সম্পদ দরকার শুধু দেখতে পারেন বস্তুর সংযোগ স্থাপন করে LiveDataঅবজেক্ট।
public class MyFragment extends Fragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
LiveData<BigDecimal> myPriceListener = ...;
myPriceListener.observe(this, price -> {
// Update the UI.
});
}
}
observe()পদ্ধতি টুকরা, যার মধ্যে একটি দৃষ্টান্ত হল পাসের LifecycleOwnerপ্রথম আর্গুমেন্ট হিসাবে। এটি করা বোঝায় যে এই পর্যবেক্ষক Lifecycleমালিকের সাথে সম্পর্কিত বস্তুর সাথে আবদ্ধ , যার অর্থ:
যদি লাইফাইসাইকেল বস্তুটি সক্রিয় অবস্থায় না থাকে তবে মান পরিবর্তন হলেও পর্যবেক্ষককে ডাকা হয় না।
লাইফাইকেল বস্তুটি ধ্বংস হওয়ার পরে, পর্যবেক্ষক স্বয়ংক্রিয়ভাবে সরানো হবে
সত্য যে LiveDataবস্তু জীবনচক্র-সচেতন উপায়ে যে আপনি তাদের একাধিক কার্যক্রম, টুকরা, এবং পরিসেবার মধ্যে ভাগ করে নিতে পারেন আছে।