Domanda

ho intenzione di scrivere un IntentService per scaricare nuovi pacchetti (nuovi oggetti per l'applicazione). Il mio unico problema è che quando ho trasmesso la fine dei download, devo aggiornare il modello di memoria, se l'applicazione è in esecuzione. Se non è in esecuzione, nulla deve essere fatto, come l'applicazione creerà il modello di memoria dal DB quando comincia. Performance-saggio, l'interfaccia utente funziona dalla memoria, non dal db. Qualsiasi idea di come dovrei affrontare, o io sono totalmente sulla strada sbagliata?

EDIT: Per chiarezza: diciamo che ho MyIntentService, che inserisce nuove linee al mio DB, e poi spara un BroadcastIntent, che viene ricevuto dal MyBroadcastReceiver. Ora l'ho volto problema è, che l'istanza di MyBroadcastReceiver dovrebbe comunicare in qualche modo la classe del modello, che è un Singleton. Il problema è, che questo modello (Singleton) istanza dovrebbe essere disponibile solo se la mia applicazione è in esecuzione, in quanto questo è consumato da solo l'interfaccia utente (utilizzando solo DB sarebbe modo per rallentare). Non c'è bisogno di comunicare il mio esempio, modello, se non v'è alcuna interfaccia utente di usarlo. Non riesco a fare il mio modello di essere un BroadcastReceiver, in quanto sono iniziati in qualsiasi momento, e non possono essere Singleton sia (per quanto ne so).

È stato utile?

Soluzione

I solved this by having the UI register as the broadcast receiver and update the Model as required. In my solution if the UI exists the Model will always be instantiated.

Another solution is to check if the Model is instantiated and only proceeding if it is.

Altri suggerimenti

It's a bit difficult to answer and say something having only your words without code. May make additional seperated part of your project that will initialize/create your "memory model" from DB and this part should be undepedent one, so you can use it from anywhere anytime, during starting your activities/application or when get broadcast.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top