java - studio - Escucha de devolución de llamada de Android: envía valor de pojo en SDK a la actividad de una aplicación
boton de llamada en android studio (1)
Sugiero usar un bus de mensajes o un patrón observable / observador .
Square tiene a Otto una pequeña biblioteca de código abierto que implementa un bus de mensajes.
El patrón de observador está bien descrito en wikipedia, por ejemplo.
De cualquier manera, lo que tendrá que hacer es comenzar a escuchar su POJO si lo hace Observable, o suscribirse para eventos de bus en onResume()
(o onStart()
) y dejar de escuchar en onPause()
en su actividad.
AUTOBÚS
Me gusta más el autobús debido a su acoplamiento flexible y al hecho de que puede enviar POJO arbitrarios al bus y solo escuchar un tipo específico, por ejemplo.
entonces publica un mensaje de esto:
bus.post(new SomethingICareAbout("I really really do"));
y en otro lugar en su base de código (en su caso en la actividad):
@Subscribe
public void onSomethingIcareAbout(SomethingICareAbout thingsAndStuff) {
// TODO: React to the event somehow. Use what you received.
}
@Subscribe
public void onSomethingElseIcareAbout(SomethingElseICareAbout otherThings) {
// TODO: React to the event somehow. Use what you received.
}
Lo anterior se simplifica intencionalmente, aún necesita crear el bus y suscribirse, pero lo encontrará en los documentos: P También usa anotaciones y es muy liviano (código).
Observador / Observable
Observer / Observable por otro lado es parte de Java, por lo que está integrado. Pero está estrechamente vinculado, tu actividad tendrá que implementar Observer, tu POJO implementará Observable y tendrás que implementar el método update () en tu Actividad. este recibirá todas las actualizaciones sin importar lo que envíe el Observable.
Espero que esto tenga sentido un poco :)
Tengo una clase Java enterrada en un SDK que realiza una acción y devuelve un booleano. No tiene conocimiento de la actividad principal de la aplicación , pero necesito la actividad principal para recibir ese valor booleano.
He visto muchas preguntas sobre devoluciones de llamadas, transmisiones y oyentes, pero todos parecen tener conocimiento de la actividad. Mi pojo tiene un contenido de actividad pero no sé cómo devolver el valor a la actividad principal de la aplicación.
Ya estoy usando AsyncTask en mi pojo y estoy tratando de averiguar cómo enviar el booleano en el método onPostExecute de manera que la actividad principal de la aplicación pueda recibirlo.
¿Alguien sabe cómo hacer esto?