Consultas sobre SDK de Sensores de Temperatura #430
-
Buenas! Vi una respuesta de hace 20 horas sobre este tema, pero particularmente a mi me sigue pareciendo que no esta clara la respuesta. Por lo que entiendo, el SDK podría estar haciendo algo así ( no importa la implementación, pero para ejemplificar mejor que es lo que entiendo ) public void onTemperatureChange(Action action) { Nosotros tenemos que implementar ese action, cosa de que onTemperatureChange la ejecute y nos pase por parámetro la nueva temperatura. Esto es, porque no tenemos manera de comunicar "para atras". Nuestro action podría ser algo como esto: public void executeForTemperature(double temperatura) { Implementado en nuestro fachade del sensor, o algo por el estilo. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
A menos que estoy pensando, onTemperatureChange es justamente el método que inyecta la Action y queda guardado en el SDK del sensor para que se ejecute como callback cada vez que se ejecute valla a saber uno que, cada vez que cambia la temperatura. |
Beta Was this translation helpful? Give feedback.
-
👋 ¡Hola! El método ... sirve para configurar al sensor, indicándole qué hacer cada vez que se cumpla la condición de cambio de temperatura. Para lograrlo, más allá de que debés asumir que ya está implementado, probablemente haga algo parecido a ésto: public void onTemperatureChange(Action action) {
this.accionesParaHacerAnteCambioDeTemperatura.add(action);
} En otras palabras, la implementación que asumiste.... public void onTemperatureChange(Action action) {
...hacer cosas
action(temperature)
} ... es incorrecta, porque implicaría que class ActualizarTemperaturaDeHeladera {
void executeForTemperature(double temperatura) { /* ..actualizar temperatura de heladera.. */ }
}
// ...
Action unaAccion = new ActualizarTemperaturaDeHeladera(heladera)
sensor.onTemperaturaChange(unaAccion) O usando la sintaxis de Java para implementar interfaces de un sólo mensaje: sensor.onTemperaturaChange((unaTemperatura) => {
/* ..actualizar temperatura de heladera.. */
}) Footnotes
|
Beta Was this translation helpful? Give feedback.
👋 ¡Hola!
El método
onTemperatureChange
....... sirve para configurar al sensor, indicándole qué hacer cada vez que se cumpla la condición de cambio de temperatura. Para lograrlo, más allá de que debés asumir que ya está implementado, probablemente haga algo parecido a ésto:
En otras palabras, la implementación que asumiste....
... es incorrecta, porque implicaría que
onTemperaturaChange
ejecute la acción una sola vez, en ese preciso instante, y no cuando el cambio de temperatura ocurra. Tené…