¿Cómo puedo usar un model de vista, con sqlite y un receptor de difusión para actualizar la UI?

Tengo una aplicación que se utiliza para probar la conectividad, tiene una alarma de 20 minutos y debe contactar a un server con un código único, y el server envía un sms con el mismo código para confirmar. Tengo todos los componentes funcionando, pero no sé cómo conseguir que el código único se actualice automáticamente en la interfaz de usuario. La alarma escribe cada request en una database sqlite, y me gustaría que actualice automáticamente la interfaz de usuario mediante un observable.

Mi proyecto está en Kotlin si eso hace alguna diferencia.

Básicamente, simplemente no estoy descifrando cómo "observar" la database sql para cambios o cómo hacer que el receptor de difusión y la actividad usen el mismo observable

Esta respuesta aún no está completa:

Para hacer lo que quería, hasta ahora he implementado un oyente de preferences compartido y lo uso para retransmitir datos entre los receptores de difusión y la IU. También implementé un object observable con las nuevas bibliotecas, pero necesitaba ejecutar la aplicación en un dispositivo anterior, por lo que el observable no funcionó.

private val listener = ShanetworkingPreferences.OnShanetworkingPreferenceChangeListener { prefs, key -> val value = prefs.getString(key, "") when(key) { "sms" -> smsStatus.text = value } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_smschecker) //setSupportActionBar(toolbar) getShanetworkingPreferences("SMS_CHECKER", MODE_PRIVATE).registerOnShanetworkingPreferenceChangeListener(listener) } 

luego en el receptor de difusión:

 val editor = context.getShanetworkingPreferences("SMS_CHECKER", Context.MODE_PRIVATE).edit() editor.putString("sms", DateFormat.getDateTimeInstance().format(Date())) editor.apply() 

Todavía estoy trabajando en el monitoreo sqlite.

  • RxJava manejando múltiples devoluciones de llamada dentro de un observable
  • ¿Cómo puedo refactorizar una vista para permitir el filtrado de elementos vinculados a un observable ArrayList dentro de una aplicación tornadofx?
  • No se puede llamar al operador desde () en Observable en Android Kotlin