localbroadcastmanager kullanımdan kaldırıldı, bunun yerine gözlemlenebilir modelin uygulamalarını kullanın.
androidx.localbroadcastmanager
1.1.0 sürümünde kullanımdan kaldırılıyor
neden
LocalBroadcastManager
uygulama çapında bir olay veriyoludur ve uygulamanızdaki katman ihlallerini kucaklar; herhangi bir bileşen diğer herhangi bir bileşenden olayları dinleyebilir. BroadcastManager sisteminin gereksiz kullanım senaryo sınırlamalarını devralır; geliştiriciler Nesneleri yalnızca tek bir işlemde yaşasalar ve hiçbir zaman bırakmasalar bile Niyeti kullanmak zorundadırlar. Aynı nedenden ötürü, özellik bakımından BroadcastManager'ı takip etmez.
Bunlar kafa karıştırıcı bir geliştirici deneyimine katkıda bulunur.
Değiştirme
Kullanımını LocalBroadcastManager
gözlemlenebilir modelin diğer uygulamalarıyla değiştirebilirsiniz . Kullanım durumunuza bağlı olarak, uygun seçenekler LiveData
veya reaktif akışlar olabilir.
LiveData'nın avantajı
LiveData
Sistem hizmetlerini uygulamanızda paylaşılabilmeleri için sarmak üzere tek nesneyi kullanarak bir nesneyi genişletebilirsiniz . LiveData
Sadece izleyebilirsiniz kaynak ihtiyacı bir kez sistem hizmeti ve ardından herhangi bir gözlemci nesne bağlandığı LiveData
nesne.
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()
Yöntem bir örneği olan bir fragmanını geçen LifecycleOwner
ilk bağımsız değişken olarak,. Bu, bu gözlemcinin Lifecycle
sahibiyle ilişkili nesneye bağlı olduğunu gösterir , yani:
Yaşam Döngüsü nesnesi etkin durumda değilse, değer değişse bile gözlemci çağrılmaz.
Yaşam Döngüsü nesnesi yok edildikten sonra, gözlemci otomatik olarak kaldırılır
Aslında LiveData
nesneleri Birden faaliyetleri, parçaları ve hizmetler arasında paylaşabilirsiniz yaşam döngüsü farkında araçlardır.