Android-Zimmer + AsyncTask
Mein team entwickelt haben, eine neue Android-app, die macht umfangreichen Gebrauch von Raum.
Ich bin nicht sicher, ob wir mit AsyncTask richtig.
Mussten wir wickeln Sie alle Aufrufe von insert/update/delete in AsyncTasks die Ergebnisse in einer großen Anzahl von AsyncTasks. Alle Aufrufe in den Zimmer sind aus hintergrund-Dienste. Es gibt keinen direkten Zugang von Aktivitäten oder Fragmente - Sie bekommen alles per LiveData.
Ein Beispiel nennen, um eine Zeile einfügen:
AsyncTask.execute(() -> myModelDAO.insertInstance(myModel));
Mit diesem in der DAO:
@Insert
void insertInstance(MyModel model);
Du musst angemeldet sein, um einen Kommentar abzugeben.
Abgeschlossen @CommonsWare Antwort, die Sie verwenden können, die Testamentsvollstrecker - Klasse zum ausführen von-Raum-Abfragen in einem hintergrund-thread.
Google zeigte ein Beispiel auf Ihrem Android-Architektur Komponenten guide.
Dann sollten Sie nicht verwenden
AsyncTask
.AsyncTask
ist nur, wenn Sie wollen, zu arbeiten, die auf der Hauptanwendungs-thread nach hintergrund Arbeit, und das ist fast nie der Fall mit einem service. Etwas anderes verwenden (thread, thread-pool, RxJava, etc.). Das hat nichts bestimmtes zu tun mit Raum.AsyncTask
.Suchen, wie falsch Sie kann Einfaches Thread/Threadpool/Planer etc
Können Sie eine callback-wie
Consumer<List<object>>callback
.Zum Beispiel: