Kotlin में विलंब के साथ फ़ंक्शन कैसे कॉल करें? (Android)
नमस्ते! मैं Kotlin और Android डेवलपमेंट में नौसिखिया हूँ। मैं एक सरल ऐप लिख रहा हूँ: एक उलटी गिनती टाइमर। मुझे चाहिए कि "स्टार्ट" बटन दबाने के 5 सेकंड बाद कोई कार्रवाई हो (जैसे, "समय समाप्त!" संदेश के साथ Toast दिखाना)।
मैंने कोरूटीन के अंदर `Thread.sleep(5000)` का उपयोग करने की कोशिश की, लेकिन ऐप 5 सेकंड के लिए हैंग हो जाता है, और Toast उसके बाद ही दिखता है, और इंटरफ़ेस अपडेट नहीं होता। यहाँ मेरा कोड है:
```kotlin
fun startTimer() {
GlobalScope.launch {
Thread.sleep(5000)
withContext(Dispatchers.Main) {
Toast.makeText(this@MainActivity, "समय समाप्त!", Toast.LENGTH_SHORT).show()
}
}
}
```
समस्या यह है कि `Thread.sleep` थ्रेड को ब्लॉक करता है, और यह गलत है। मैंने `Handler` और `Timer` के बारे में सुना है, लेकिन मुझे समझ नहीं आता कि Kotlin में सरल विलंब के लिए कौन सा तरीका आधुनिक और सही माना जाता है। कृपया बताएं कि विलंब को सही तरीके से कैसे लागू करें ताकि UI ब्लॉक न हो और कोड पढ़ने योग्य हो। पहले से धन्यवाद।