【发布时间】:2020-03-19 19:40:09
【问题描述】:
我已经在 Flutter 和 Kotlin 中设置了一个基本的 Method 通道。
以下是我的示例数据:
{
"user_dob":"15 November 1997",
"user_description":"Hello there, I am a User!",
"user_gender":"Male",
"user_session":"KKDSH3G9OJKJFIHXLJXUGWIOG9UJKLJ98WHIJ"
}
以下方法通道可以将数据从 Flutter 传递到 Kotlin 端:
var result = await platform.invokeMethod('updateProfile', data);
以下代码捕获 Kotlin 中的数据:
MethodChannel(flutterView, channel).setMethodCallHandler { call, result ->
if(call.method == "updateProfile"){
var argData = call.arguments
...
现在,argData 包含我刚刚发送的数据,
出现了两个问题:
如何访问来自
argdata的数据?例如。如何从这个
argData获得我的user_dob?
以下代码是我目前的解决方案。
val userDOB : String = call.argument("user_dob")
但是抛出以下错误:Kotlin: Type mismatch: inferred type is String? but String was expected
注意:当我将地图数据发送到 MethodChannel 时,它被意外地作为字符串发送。要遵循 THIS 方法,请确保在传递数据时实现了 Map 对象。
【问题讨论】:
标签: android json kotlin flutter dart