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
LocalBroadcastManageruygulama ç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ı LocalBroadcastManagergözlemlenebilir modelin diğer uygulamalarıyla değiştirebilirsiniz . Kullanım durumunuza bağlı olarak, uygun seçenekler LiveDataveya reaktif akışlar olabilir.
LiveData'nın avantajı
LiveDataSistem hizmetlerini uygulamanızda paylaşılabilmeleri için sarmak üzere tek nesneyi kullanarak bir nesneyi genişletebilirsiniz . LiveDataSadece izleyebilirsiniz kaynak ihtiyacı bir kez sistem hizmeti ve ardından herhangi bir gözlemci nesne bağlandığı LiveDatanesne.
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 LifecycleOwnerilk bağımsız değişken olarak,. Bu, bu gözlemcinin Lifecyclesahibiyle 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 LiveDatanesneleri Birden faaliyetleri, parçaları ve hizmetler arasında paylaşabilirsiniz yaşam döngüsü farkında araçlardır.