Async Programming
Handlers & ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²Π½Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°
import kotlinx.coroutines.*
class MainActivity : AppCompatActivity {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
my_button.setOnClickListener {
val handler = Handler() // ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ
// Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ΄ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄Π° Π² Π³Π»Π°Π²Π½ΠΎΠΌ (Π½Π°ΠΏΡΡΠΌΡΡ ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ)
// Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π²ΠΎ Π²ΡΡΡ
Π΅
// ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ
Thread(Runnable {
val test = 123
/*
doSomething()
*/
// ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΠΎ-ΡΠΎ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΡΡΠ΅Π΄Π΅
handler.post(Runnable {
outputView.text = "my text and $test"
})
}).start()
}
}
}Async/Await
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΎΠ±ΡΡΠΈΠΉ
Coroutines
Last updated