#java #flutter #kotlin
Вопрос:
Я использую Flutter и не слишком много знаю о Java/Kotlin. Некоторые проекты Flutter поддерживают Kotlin, поэтому такие файлы, как MainActivity, имеют формат .kt, который немного отличается от исходного java-файла.
Мне пришлось загрузить SDK, который вызывает методы из .java, которые мне нужно преобразовать.
Я попробовал проект Flutter, который не поддерживает Kotlin, и все работает, но когда я импортировал этот файл в свой проект Flutter-Kotlin, мне пришлось его конвертировать (в Android Studio есть опция преобразования), и, по-видимому, это преобразование неверно.
Например, это:
@Override
fun ...
не преобразуется ни во что вообще, когда это должно быть:
override fun ...
Дело в том, что я получаю другие ошибки, такие как:
Интеллектуальное приведение к «MethodChannel» невозможно, потому что «канал» — это изменяемое свойство, которое к этому времени могло быть изменено
channel = MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)
channel.setMethodCallHandler(
object : MethodCallHandler() {
override
(преобразованный Котлин)
Есть ли простой способ конвертировать в Kotlin, не будучи знакомым ни с Kotlin, ни с Java?
Другим вариантом было бы не поддерживать Java в моем проекте Flutter, но это вызвало бы у меня другие головные боли.