Pregunta

Planeo escribir un servicio intents para descargar nuevos paquetes (nuevos elementos para la aplicación). Mi único problema es que cuando transmito el final de las descargas, tengo que actualizar el modelo de memoria, si la aplicación se está ejecutando. Si no se está ejecutando, no hay que hacer nada, ya que la aplicación creará el modelo de memoria desde el DB cuando se inicia. En cuanto al rendimiento, la interfaz de usuario funciona desde la memoria, no desde el DB. ¿Alguna idea de cómo debo acercarme, o estoy totalmente en el camino equivocado?

EDITAR: Para mayor claridad: digamos que tengo MyIntentService, que inserta nuevas líneas en mi DB y luego dispara un BroadcastIntent, que recibe MyBroadCastreceiver. Ahora el problema que enfrento es que la instancia de MyBroadCastreceiver debe notificar de alguna manera la clase de modelo, que es un singleton. El problema es que esta instancia de modelo (singleton) debe estar disponible solo si mi aplicación se está ejecutando, ya que solo la interfaz de usuario consume (usando solo DB sería una forma de lento). No es necesario notificar mi instancia de modelo si no hay UI para usarla. No puedo hacer que mi modelo sea un locutor, ya que se inician en cualquier momento, y tampoco pueden ser singleton (hasta donde yo sé).

¿Fue útil?

Solución

Resolví esto al registrar la interfaz de usuario como receptor de transmisión y actualizar el modelo según sea necesario. En mi solución, si la interfaz de usuario existe, el modelo siempre será instanciado.

Otra solución es verificar si el modelo está instanciado y solo procede si es así.

Otros consejos

Es un poco difícil responder y decir algo que solo tiene sus palabras sin código. Puede hacer una parte separada adicional de su proyecto que inicializará/creará su "modelo de memoria" desde DB y esta parte debe ser más sin tener en cuenta, por lo que puede usarlo desde cualquier lugar en cualquier momento, durante el inicio de sus actividades/aplicación o cuando se transmita.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top