Sobes.tech
Junior — Middle

İki farklı kaynaktan aynı anda asenkron olarak veri yükleyen bir fonksiyon nasıl uygulanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Android'de iki farklı kaynaktan verileri asenkron olarak yüklemek için Kotlin Coroutines kullanabilirsiniz. Bu, iki işlemi paralel olarak başlatıp tamamlanmalarını beklemeyi sağlar.

Örnek:

import kotlinx.coroutines.*

fun loadData() {
    CoroutineScope(Dispatchers.IO).launch {
        val deferred1 = async { loadFromSource1() }
        val deferred2 = async { loadFromSource2() }

        val result1 = deferred1.await()
        val result2 = deferred2.await()

        withContext(Dispatchers.Main) {
            // Sonuçların ana akışta işlenmesi
            println("Sonuç 1: $result1")
            println("Sonuç 2: $result2")
        }
    }
}

suspend fun loadFromSource1(): String {
    // Veri yüklemenin simülasyonu
    delay(1000)
    return "Kaynaktan 1 verisi"
}

suspend fun loadFromSource2(): String {
    // Veri yüklemenin simülasyonu
    delay(1500)
    return "Kaynaktan 2 verisi"
}

Bu örnekte, iki yükleme fonksiyonu paralel olarak başlatılır ve tamamlandıktan sonra sonuçlar işlenir.