-
flutter -> kotlin 함수 호출kotlin 2021. 10. 19. 19:02
Flutter에서 코틀린 함수 호출..
in Flutter ->
static const platform = const MethodChannel('io.myapp.application');
함수 호출할때..
await platform.invokeMethod('getTestFunc');
getTestFunc부에 함수 이름 넣으면됨.
호출받는 MainActivity ...>
package com.project.application
import android.content.Context
import android.content.ContextWrapper
import android.content.Intent
import android.content.IntentFilter
import android.os.BatteryManager
import android.os.Build.VERSION
import android.os.Build.VERSION_CODES
import android.os.Bundle
// import io.flutter.app.FlutterActivity 는 더이상 사용되지 않는다고함
import io.flutter.embedding.android.FlutterActivity
// ---> 로 대체 하니 빌드가 됨...
import io.flutter.plugin.common.MethodChannel
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.view.FlutterMain
import androidx.annotation.NonNull
import io.flutter.plugin.common.MethodChannel.Result
import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;class MainActivity: FlutterActivity() {
private val CHANNEL = "com.project.application"
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL).setMethodCallHandler {
call, result ->
// Note: this method is invoked on the main thread.
// TODO
when {
call.method.equals("getTestFunc") -> {
changeColor(call)
}
}
}
}
private fun changeColor(call: MethodCall) {
println("111k")
}** 기타 삽질관련..
https://flutter-ko.dev/docs/development/platform-integration/platform-channels
공식문서대로 하니까 안됨..
!!
https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects
이거보고 해결했다.
기타참조
GitHub - jblorenzo/flutter-kotlin-native-example: Example app for Flutter + Kotlin/Native
Example app for Flutter + Kotlin/Native. Contribute to jblorenzo/flutter-kotlin-native-example development by creating an account on GitHub.
github.com
https://github.com/jblorenzo/flutter-kotlin-native-example/blob/master/lib/main.dart
GitHub - jblorenzo/flutter-kotlin-native-example: Example app for Flutter + Kotlin/Native
Example app for Flutter + Kotlin/Native. Contribute to jblorenzo/flutter-kotlin-native-example development by creating an account on GitHub.
github.com
'kotlin' 카테고리의 다른 글
레트로핏 api 호출 기본 예제 (1) 2024.02.25