localbroadcastmanager está en desuso, utilice implementaciones del patrón observable en su lugar.
androidx.localbroadcastmanager está en desuso en la versión 1.1.0
Razón
LocalBroadcastManageres un bus de eventos para toda la aplicación y abarca las infracciones de capa en su aplicación; cualquier componente puede escuchar eventos de cualquier otro componente. Hereda limitaciones innecesarias de casos de uso del sistema BroadcastManager; los desarrolladores tienen que usar Intent aunque los objetos vivan en un solo proceso y nunca lo abandonen. Por esta misma razón, no sigue a BroadcastManager en cuanto a funciones.
Estos se suman a una experiencia confusa del desarrollador.
Reemplazo
Puede reemplazar el uso de LocalBroadcastManagercon otras implementaciones del patrón observable. Dependiendo de su caso de uso, las opciones adecuadas pueden ser LiveDatao flujos reactivos.
Ventaja de LiveData
Puede extender un LiveDataobjeto usando el patrón singleton para ajustar los servicios del sistema para que puedan compartirse en su aplicación. El LiveDataobjeto se conecta al servicio del sistema una vez, y luego cualquier observador que necesite el recurso puede simplemente observar el LiveDataobjeto.
public class MyFragment extends Fragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
LiveData<BigDecimal> myPriceListener = ...;
myPriceListener.observe(this, price -> {
// Update the UI.
});
}
}
El observe()método pasa el fragmento, que es una instancia de LifecycleOwner, como primer argumento. Hacerlo indica que este observador está vinculado al Lifecycleobjeto asociado con el propietario, lo que significa:
Si el objeto del ciclo de vida no está en un estado activo, no se llama al observador incluso si el valor cambia.
Después de que se destruye el objeto del ciclo de vida, el observador se elimina automáticamente
El hecho de que los LiveDataobjetos sean conscientes del ciclo de vida significa que puede compartirlos entre múltiples actividades, fragmentos y servicios.