Kotlin में "Default interface methods are only supported starting with Android 7.0" त्रुटि: कैसे ठीक करें?
सभी को नमस्ते! मैं Kotlin और Android विकास में नौसिखिया हूँ, और एक अजीब त्रुटि का सामना किया। मैं इंटरफेस के साथ एक सरल प्रोजेक्ट लिख रहा हूँ, Java 8 की तरह इंटरफेस में ही method की default implementation का उपयोग करना चाहता हूँ। कोड कुछ इस प्रकार है:
```kotlin
interface Clickable {
fun onClick() // abstract method
fun showToast() { // default implementation वाला method
println("Clicked!")
}
}
class Button : Clickable {
override fun onClick() {
showToast() // default method को कॉल करें
}
}
```
Studio में सब कुछ compile होता है, लेकिन जब मैं Android 6.0 (API 23) वाले emulator पर चलाता हूँ, तो ऐप इस त्रुटि के साथ क्रैश हो जाता है:
"Default interface methods are only supported starting with Android 7.0 (Nougat)".
मैं compileSdk 34 और minSdk 21 का उपयोग कर रहा हूँ। ऐसा क्यों हो रहा है? आखिरकार Kotlin पूरी तरह से Java 8 के साथ संगत है? मैं इसे पुराने Android संस्करणों पर कैसे काम करवा सकता हूँ? क्या मुझे Gradle में कुछ flags जोड़ने की ज़रूरत है? या फिर इंटरफेस में default methods को पूरी तरह से छोड़ देना चाहिए?