Heim > Fragen und Antworten > Hauptteil
Neue Android-Entwickler stoßen während des Entwicklungsprozesses auf einige Zweifel. Ich hoffe, die Experten können mir helfen.
Zum Beispiel muss meine App eine SQLite-Datenbank erstellen, wenn sie zum ersten Mal installiert wird.
Meine Lösung besteht darin, diese Erstellungsmethode auszuführen, wenn der Launcher die Seite startet.
Aber ich denke, das Erstellen einer SQLite-Datenbank ist ein zeitaufwändiger Vorgang. und ich muss es in Execution im Sub-Thread einfügen
Dann kommt die Frage:
Wenn die Erstellung der Datenbank im Sub-Thread fehlschlägt, wie kann ich dann sicherstellen, dass die nachfolgenden Methoden reibungslos ausgeführt werden können?
Wenn ich die Datenbank erstelle, ist der Launcher möglicherweise zu mainActivity gesprungen oder wurde auf andere Seiten übertragen oder ist sogar bereit, Daten in die Datenbank zu schreiben, aber zu diesem Zeitpunkt kann ich feststellen, ob die Datenbank vorhanden ist. Wenn nicht, ja , ich kann es neu erstellen, aber es ist mir unmöglich, die Datenbank an allen Stellen neu zu erstellen, an denen Datenbankoperationen erforderlich sind. Wie kann ich also sicherstellen, dass die Operationsergebnisse im untergeordneten Thread zu 100 % abgeschlossen sind?
Und es gibt mehrere andere Vorgänge im Launcher, die alle in untergeordneten Threads ausgeführt werden müssen.
Lösung.
天蓬老师2017-05-24 11:40:12
1.封装一下瑟
2.比如说封装一个DBUtils层。
bool checkDB(){
return ..;
}
Beans DBUtils.query(callback){
if(checkDb){
callback(data);
}
}