Flutter

Platform Channels

MethodChannel, EventChannel, integracja kodu natywnego, natywne API Android/iOS, FFI

20 pytań z rozmów·
Senior
1

Czym jest Platform Channel we Flutterze?

Odpowiedź

Platform Channel to dwukierunkowy mechanizm komunikacji między kodem Dart we Flutterze a natywnym kodem platformy (Android/iOS). Umożliwia wywoływanie natywnych API niedostępnych we Flutterze, takich jak dostęp do czujników sprzętowych, korzystanie z natywnych SDK czy integracja kodu legacy. Komunikacja wykorzystuje standardowe kodowanie binarne do przesyłania asynchronicznych komunikatów między oboma środowiskami.

2

Jaka jest główna różnica między MethodChannel a EventChannel?

Odpowiedź

MethodChannel umożliwia jednorazowe wywołania metod z pojedynczą odpowiedzią (wzorzec żądanie/odpowiedź), idealny do operacji takich jak pobranie poziomu baterii czy wykonanie funkcji natywnej. EventChannel pozwala odbierać ciągły strumień danych z natywnego kodu jako Dart Stream, idealny do powtarzających się zdarzeń, takich jak aktualizacje GPS, odczyty czujników czy powiadomienia systemowe.

3

Jaki codec jest używany domyślnie do serializacji danych w MethodChannel?

Odpowiedź

StandardMethodCodec to domyślny codec używany przez MethodChannel. Wykorzystuje StandardMessageCodec do kodowania i dekodowania wartości wymienianych między Dart a kodem natywnym. Ten codec obsługuje typy proste (null, bool, int, double, String), listy i mapy. W specyficznych przypadkach można utworzyć własne codecy lub użyć JSONMethodCodec do serializacji JSON.

4

Jak zdefiniować unikalną nazwę dla Platform Channel?

5

Na którym wątku odbierane są wywołania MethodChannel po stronie natywnej Androida?

+17 pytań z rozmów

Opanuj Flutter na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo