<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## BasicMessageChannel 用于傳遞字符串和半結構化的信息 ``` BasicMessageChannel(String name, MessageCodec<T> codec, {BinaryMessenger binaryMessenger}) BinaryCodec 發送二進制消息時 JSONMessageCodec 發送Json格式消息時 StandardMessageCodec 發送基本型數據時 StringCodec 發送String類型消息時 ``` demo: flutter 端 ``` class _MyHomePageState extends State<MyHomePage> { static const _channel = BasicMessageChannel('com.example.messagechannel/interop', StringCodec()); String _platformMessage; void _sendMessage() async { final String reply = await _channel.send('Hello World form Dart'); print(reply); } @override initState() { super.initState(); // Receive messages from platform _channel.setMessageHandler((String message) async { print('Received message = $message'); setState(() => _platformMessage = message); return 'Reply from Dart'; }); // Send message to platform _sendMessage(); } ``` andriod ``` class MainActivity: FlutterActivity() { override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) { GeneratedPluginRegistrant.registerWith(flutterEngine) val channel = BasicMessageChannel( flutterEngine.dartExecutor.binaryMessenger, "com.example.messagechannel/interop", StringCodec.INSTANCE) // Receive messages from Dart channel.setMessageHandler { message, reply -> Log.d("Android", "Received message = $message") reply.reply("Reply from Android") } // Send message to Dart Handler().postDelayed({ channel.send("Hello World from Android") { reply -> Log.d("Android", "$reply") } }, 500) } } ``` ## EventChannel 用于數據流(event streams)的通信 fultter ``` var _eventChannel = EventChannel('com.flutter.guide.EventChannel'); var _data; @override void initState() { super.initState(); _eventChannel.receiveBroadcastStream().listen(_onData); } _onData(event){ setState(() { _data = event; }); } ``` andriod ``` class EventChannelDemo(var activity: Activity, messenger: BinaryMessenger):EventChannel.StreamHandler { private var channel: EventChannel private var index = 0 private var events: EventChannel.EventSink? = null init { channel = EventChannel(messenger, "com.flutter.guide.EventChannel") channel.setStreamHandler(this) startTimer() } fun startTimer() { var timer = Timer().schedule(timerTask { index++ var map = mapOf("name" to "laomeng${index}", "age" to "${index}" ) activity.runOnUiThread { events?.success(map) } }, 0, 1000) } override fun onListen(arguments: Any?, events: EventChannel.EventSink?) { this.events = events } override fun onCancel(arguments: Any?) { this.events = null } } ``` ## MethodChannel 用手傳遞方法調用(method invocation) flutter ``` String? _message=''; static const _channel = MethodChannel("mChanel",); // 調用 final String result = (await _channel.invokeMethod("nativeMethod", ``` 安卓端 ``` override fun configureFlutterEngine(flutterEngine: FlutterEngine) { super.configureFlutterEngine(flutterEngine) MethodChannel(flutterEngine.dartExecutor.binaryMessenger, "mChanel") .setMethodCallHandler { call: MethodCall, result: MethodChannel.Result -> if (call.method == "nativeMethod") { val parameter = call.argument<String>("param") // 在這里處理參數并返回結果 result.success("Native method called with parameter: $parameter") } else { result.notImplemented() } } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看