Flutter

Platform Channels

MethodChannel、EventChannel、ネイティブコード統合、Android/iOS ネイティブ API、FFI

20 面接問題·
Senior
1

Flutter における Platform Channel とは何ですか?

回答

Platform Channel は、Flutter の Dart コードとプラットフォームのネイティブコード(Android/iOS)の間の双方向通信メカニズムです。ハードウェアセンサーへのアクセス、ネイティブ SDK の利用、レガシーコードの統合など、Flutter で利用できないネイティブ API を呼び出すことができます。通信には標準化されたバイナリエンコーディングが使われ、両環境間で非同期メッセージを送受信します。

2

MethodChannel と EventChannel の主な違いは何ですか?

回答

MethodChannel は、単一のレスポンスを伴う 1 回限りのメソッド呼び出し(リクエスト/レスポンスパターン)を可能にし、バッテリー残量の取得やネイティブ関数の実行といった操作に適しています。EventChannel は、ネイティブコードから連続的なデータストリームを Dart の Stream として受け取れるため、GPS の更新、センサーの読み取り、システム通知などの繰り返し発生するイベントに最適です。

3

MethodChannel でデータをシリアライズする際、デフォルトで使われるコーデックはどれですか?

回答

StandardMethodCodec は MethodChannel が使用するデフォルトのコーデックです。Dart とネイティブコードの間でやり取りされる値のエンコードとデコードに StandardMessageCodec を使用します。このコーデックはプリミティブ型(null、bool、int、double、String)、リスト、マップをサポートします。特定のニーズには、カスタムコーデックを作成するか、JSON シリアライズのために JSONMethodCodec を使用できます。

4

Platform Channel に一意の名前を定義するにはどうすればよいですか?

5

Android のネイティブ側で MethodChannel の呼び出しはどのスレッドで受信されますか?

+17 面接問題

次の面接に向けてFlutterをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める