Ich entwickle eine Messaging-App. Jedes Mal, wenn der Benutzer eine Nachricht sendet, wird die Nachricht in der lokalen Datenbank beibehalten und vor dem Senden über eine AsynkTask in einem POST an den Server überprüft, ob weitere Nachrichten mit dem Status "nicht gesendet" in der Datenbank vorhanden sind. Wenn es Nachrichten mit diesem Status gibt, behalte ich die letzte Nachricht bei und erstelle eine Schleife, um Nachricht durch Nachricht zu senden, die eine asynk Aufgabe für jede schafft. Wenn die Antworten des Servers OK sind, wird der Status der Nachricht in der Datenbank in "gesendet" geändert. Wenn keine Nachrichten mit dem Status "not_sent" vorhanden sind, wird die aktuelle Nachricht über eine asynk-Task an den Server gesendet. Das Problem ist, dass jedes Mal, wenn der Benutzer eine Nachricht sendet, diese Überprüfung durchgeführt wird und neue asynk-Aufgaben erstellt werden, bevor überprüft wird, ob die erste AsynkTask die anderen absetzte. Soll ich einen Dienst erstellen und alle Nachrichten senden, um darin versandt zu werden? Oder sollte ich die AsynkTask mit einer SerialExecutor-Option aufrufen?Verwenden von AsynkTask aus IntentService für eine Messaging-App
0
A
Antwort
0
Sie einen anderen Zustand der ‚Senden‘ hinzufügen sollte, wenn eine Nachricht (die zweite AsyncTask mit Nachrichten werden diese Weise kein Abkommen, das die erste AsyncTask derzeit das Senden wird) an den Server gesendet wird
0
Von API11 AsyncTask executer verwenden pro Anwendung, also laufen Aufgaben seriell. Kann ein Problem mit der DB-Synchronisation sein.
Für Architektur-Service ist eine gute Wahl für eine Chat-Anwendung.
Verwandte Themen
- 1. mit IntentService für MediaPlayer Wiedergabe
- 2. Unerwartetes Verhalten von IntentService
- 3. Wie FusedLocation von IntentService
- 4. Kalenderanbieter: AsyncTask oder IntentService?
- 5. Aktivität von einem IntentService gemeldet
- 6. Xamarin IntentService gestartet von HardwareButton
- 7. Weitere Erklärung über IntentService
- 8. Wie IntentService Android testen?
- 9. Wie AsynkTask von einer anderen Aktivität in Android aufrufen?
- 10. Proper Stop Stop IntentService
- 11. NetworkOnMainThreadException in IntentService
- 12. Stoppen eines IntentService von einer Aktivität
- 13. Bluetooth Verbindungsprobleme mit IntentService
- 14. Android: IntentService wird beendet
- 15. Wie überprüfen IntentService starten
- 16. rufen Sie den IntentService von onDestroy auf
- 17. IntentService Nicht gefunden
- 18. OnHandleIntent() nicht in IntentService
- 19. Realm und IntentService
- 20. IntentService Nullwert anzeigen
- 21. Können wir mehrere Webservice-Aufrufe in one intentservice onHandleIntent() verwenden?
- 22. IntentService onHandleEvent() startet nicht
- 23. IntentService wird nicht aufgerufen
- 24. Android IntentService startet nicht
- 25. Planen Sie einen IntentService
- 26. Fehler IntentService Verwendung gcm
- 27. wie zu JUnit test IntentService
- 28. Gibt es Entwicklungsmuster, die einen IntentService für Netzwerkanforderungen ersetzen können?
- 29. Verwenden von awk für eine Tabellensuche
- 30. onSuccess von Realm.Transaction.Callback nicht von IntentService immer genannt
Sie empfehlen mir nicht, einen Dienst zu erstellen, aber was ist mit der Option SerialExecutor? – jckhan