Hallo, in diesem Video werden wir über sprechen So starten Sie eine Hintergrundaufgabe in Ihrer Android-Anwendung. In Java ist eine ausführbare Aufgabe nun eine Arbeitseinheit. Und so können wir Dinge zuordnen wie die Prioritätsstufe des Jobs, und wir können es auch auf Verzögerung einstellen damit es in Zukunft gefahren werden kann. Also geben wir ihm einen Zeitstempel. So sieht es also aus wenn Sie eine ausführbare Aufgabe in Java erstellen. Du sagst, lauffähig, gib ihm einen Namen, und dann eine neue ausführbare Klasse daraus machen. Es enthält eine Methode namens run. Der Zweck einer ausführbaren Aufgabe ist also damit Sie es in verschiedene Threads aufteilen können. Nun ist ein Thread ein Prozess oder ein Pfad dass ein Prozess abläuft. Und so ist der Hauptthread normalerweise das, worauf wir programmieren, weil wir an ein sequentielles Programm denken. Werfen wir also einen Blick auf einen Code, wie dies geschehen könnte. Also was ich hier vor mir habe ist ein Beispiel für einen Klick-Listener für eine Schaltfläche. Und so haben wir einen onclick davon. Nun, was wir drinnen haben, ist etwas anders. Ich habe einen neuen Thread erstellt und innerhalb dieses Threads Ich habe eine sogenannte Arbeitseinheit erstellt. Also schauen wir uns das gleich an. Das ist wirklich ein lauffähiger Prozess. Und dann sagen wir dem Thread, dass er beginnen soll. Also wird es sagen, Berühre nicht den Hauptthread wo wir auf Mausklicks lauschen. Lass uns einen anderen Thread aufmachen. Dies hat wahrscheinlich eine geringere Priorität, und wir lassen den Prozess dort laufen. Vielleicht möchten Sie sagen, laden wir eine Datei herunter oder lass uns eine Datenbank abfragen oder lassen Sie uns etwas zeichnen oder ein Bild rendern. Und so wird der Prozess wahrscheinlich eine Weile dauern. Meistens, Wir müssen uns keine Sorgen machen, wie lange etwas dauert weil Prozesse fast augenblicklich sind. Aber in diesem Fall, so tun, als hätten wir etwas sehr Langsames. Schauen wir uns den nächsten Code an. So sieht die Arbeitseinheit aus. Dies ist der ausführbare Prozess. Also der lauffähige Prozess wird eine einzige Methode namens run haben. Und dann werden wir in meinem Fall hier codieren, ist, dass ich etwas simulieren werde das dauert fünf sekunden. Und so habe ich hier nur die Verzögerungserklärung, oder die Schlafaussage, die besagt, Was auch immer du tust, hör auf, und gehen Sie für 5.000 Millisekunden nicht weiter. Wenn wir jetzt an diesem Ende angekommen sind, Ich möchte etwas auf dem Bildschirm anzeigen. Ich möchte, dass es einen Toast bringt. Und um einen Toast zu machen, Das musst du im Hauptthread ausführen können. Also müssen wir einen weiteren lauffähigen Prozess erstellen innerhalb dieses lauffähigen. Dieses Runnable hat also einen besonderen Befehl, es ist einzigartig für Android, heißt es im UI-Thread ausführen. Das heißt also zum Hauptthread gehen das war die Handhabung aller Schaltflächenklicks, und führen Sie dann diesen Vorgang durch. Und man sieht, dass ein Toast etwas ist das ist die Benutzeroberfläche. Wenn dies etwas anderes wäre, z. B. in eine Protokolldatei drucken oder einfach eine Antwort berechnen und zurückgeben, dann müsstest du dir keine sorgen machen auf dem Benutzeroberflächen-Thread ausgeführt. Aber wenn Sie ein Textfeld aktualisieren müssen oder die Farbe einer Schaltfläche ändern oder, in diesem Fall, stoßen Sie an, Sie berühren den UI-Thread. Deshalb teilen wir ihm mit, auf welchem Thread er ausgeführt werden soll. Und so wäre diese Arbeitseinheit das, was wir setzen würden in die Schaltfläche klicken. Jetzt gibt es eine andere Möglichkeit, damit umzugehen. Anstatt Run on UI-Thread zu verwenden, die meisten Programmierer würden dies verwenden. Sie würden einen Handler rufen. Denken Sie also daran, der Handler ist wie der Roboterarm der die Aufgabe aufnimmt und auf das Förderband legt. Also sagt der Handler, Ich werde eine neue Instanz des Handler-Objekts erstellen, und ich werde angeben, dass dies vom Haupt-Looper stammt. Und dann hier drinnen, Sie können mir sagen, dass ich ein neues lauffähiges Objekt posten werde auf der Hauptschleife. Und so einen neuen Artikel veröffentlichen. Und das ist wie das Einlegen in das Förderband in der Fabrikhalle. Und wenn Sie POST, Sie können davon ausgehen, dass es sofort bearbeitet wird. Es gibt aber auch andere Befehle, wie zB POST mit Verzögerung. Und so können Sie einen Timer einrichten, der sagt: mach das in fünf sekunden, und dann wird es warten, bevor es tatsächlich ausgeführt wird. Das sind also einige Beispiele dafür, wie Sie ausführbare Aufgaben erstellen und wie Sie sie POST und wie Sie Ihre Hauptschleife schützen, Ihre Benutzeroberfläche, damit sie nicht blockiert wird. Also werden wir etwas davon codieren, und wir werden ein Beispiel dafür sehen, wie es funktioniert.