Recentemente ho letto su GcmTaskService e GcmNetworkManager per pianificare un'attività. Il mio caso d'uso è tipico di SyncAdapter, in cui ho bisogno di sincronizzare periodicamente alcuni dati con il mio server e attualmente utilizzo SyncAdapter. La mia domanda è quali sono le differenze tra GcmTaskService e SyncAdapter. E quando usare GcmTaskService vs quando usare SyncAdapter?GcmTaskService vs SyncAdapter
risposta
GcmTaskService
: implementato dall'applicazione client per fornire un endpoint per GcmNetworkManager
da richiamare quando un'attività è pronta per essere eseguita. Le attività devono essere programmate in base a una finestra di esecuzione in tempo. Durante questa finestra di esecuzione lo scheduler utilizzerà la propria discrezione nel selezionare un tempo di esecuzione ottimale, in base alla disponibilità della rete, all'attività della rete e al carico.
Sync Adapter esegue il lavoro di sincronizzazione dei dati tra il server e il database locale. Gli adattatori di sincronizzazione funzionano in modo asincrono, trasferiscono i dati regolarmente ed efficientemente, ma non istantaneamente. Se è necessario eseguire il trasferimento dei dati in tempo reale, è necessario farlo in un AsyncTask o in IntentService. Questo framework aiuta a gestire e automatizzare i trasferimenti di dati e coordina le operazioni di sincronizzazione tra diverse app.
Google Cloud Messaging (GCM) fornisce sia il server che i componenti del dispositivo necessari per far funzionare questo sistema di messaggistica. L'utilizzo di GCM per l'attivazione dei trasferimenti è più affidabile e più efficiente rispetto ai server di polling per lo stato. Mentre il polling richiede un servizio sempre attivo, GCM utilizza un BroadcastReceiver che viene attivato quando arriva un messaggio. Mentre il polling a intervalli regolari utilizza la carica della batteria anche se non sono disponibili aggiornamenti, GCM invia solo messaggi quando necessario.
Il tuo commento non offre chiare differenze tra le due opzioni. – Saket
- 1. SyncAdapter vs JobScheduler
- 2. Parametri del passaggio a GcmTaskService
- 3. SyncAdapter & SyncResult
- 4. SyncAdapter senza un account
- 5. SyncAdapter senza ContentProvider
- 6. syncadapter senza connessione internet
- 7. Come configurare correttamente syncAdapter?
- 8. Come si utilizza Android SyncAdapter?
- 9. SyncAdapter Android Inizializza automaticamente sincronizzazione
- 10. SyncAdapter animazione in esecuzione - Come sapere se SyncAdapter è attivamente sincronizzando
- 11. Sincronizzazione di più provider con un SyncAdapter
- 12. Android SyncAdapter utilizzando un account google
- 13. Come utilizzare una classe SyncAdapter per più autorità?
- 14. SharedPreference commesso in SyncAdapter non aggiornato in Attività?
- 15. Android SyncAdapter bloccato nel ciclo di sincronizzazione infinito
- 16. confuso tra syncAdapter, servizi, caricatori, provider e asynctask?
- 17. Come gestire aggiornamento RESTful di server remoto con SyncAdapter
- 18. SyncAdapter non viene chiamato in base all'ordine delle chiamate di impostazione dell'account
- 19. ID vs UniqueID vs ClientID vs UniqueClientID vs StaticClientID?
- 20. VS 2008 vs VS 2008 Express
- 21. .NET vs ASP.NET vs CLR vs ASP
- 22. Atomikos vs JOTM vs Bitronix vs?
- 23. Accumulare vs piega vs ridurre vs comprimere
- 24. ACE vs Boost vs Poco vs wxWidgets
- 25. VS 2013 MSTest vs nUnit vs xUnit
- 26. control.BeginInvoke() Vs Dispatcher Vs SynchronizationContext Vs .. - AFFIDABILITÀ
- 27. Exec vs ExecWait vs ExecShell vs nsExec :: Exec vs nsExec :: ExecToLog vs nsExec :: ExecToStack vs ExecDos vs ExeCmd
- 28. bigtable vs cassandra vs simpledb vs dynamo vs couchdb vs hypertable vs riak vs hbase, cosa hanno in comune?
- 29. e vs * e | vs +
- 30. SpiderMonkey vs JavaScriptCore vs?
http://programmers.stackexchange.com/questions/219357/design-pattern-for-syncing-data-in-android – vsvankhede