Was passiert, wenn ich durch Klicken auf eine Schaltfläche einen Thread starte, der ausgeführt werden kann?Android

Forum für diejenigen, die für Android programmieren
Guest
 Was passiert, wenn ich durch Klicken auf eine Schaltfläche einen Thread starte, der ausgeführt werden kann?

Post by Guest »

Ich habe einen ausführbaren Thread (Objekt) in mainactivity.kt onCreate wie folgt.

Code: Select all

runnable = Runnable {
// Code to run in the background thread
val myURL = "mydomain.com/myjson.php"
thejsonstr = URL(myURL).readText()

runOnUiThread {
// Code to update UI elements
}
}
Und ich rufe diesen Thread wie folgt in einem Button auf oder starte ihn, um die JSON-Daten/-Zeichenfolge vom Webserver abzurufen.

Code: Select all

btnjson.setOnClickListener {

val thread = Thread(runnable)
thread.start()
Toast.makeText(this@MainActivity, thejsonstr, Toast.LENGTH_SHORT).show()

}
Das funktioniert, aber hier ist meine Frage. Ich verstehe, dass dies ein Thread ist, der ewig läuft oder in einer Schleife läuft, bis Sie ihn stoppen. Bedeutet das, dass dieser Thread immer und immer wieder JSON-Daten vom Webserver anfordert oder nur einmal ausgeführt und dann angehalten wird? Da ich diesen Thread jedes Mal, wenn ich JSON-Daten anfordern muss, innerhalb einer Schaltfläche starte, heißt das dann, dass jedes Mal, wenn ich auf die Schaltfläche klicke, ein NEUER Thread gestartet wird?
Update:
Noch eine Frage. Wenn mit jedem Tastenklick ein neuer Thread erstellt wird, gibt es dann eine Möglichkeit, den zuvor erstellten Thread zu zerstören, bevor ein NEUER Thread erstellt und gestartet wird, oder bereinigt das System automatisch die zuvor erstellten Threads, die nicht ausgeführt werden, wenn es dazu kommt?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post