CodeBlanks Logo Icon CodeBlanks

invokeMethod

invokeMethod ile native metot çağırmayı öğrenirsin.

invokeMethod metodu

invokeMethod, Dart'tan native tarafa bir metot çağrısı gönderir. İlk parametre metot adıdır ve native taraf bu adla işlemini yapar. Metot asenkron olduğu için await ile beklenir ve dönen değer native taraftan gelir.

final result = await channel.invokeMethod('getBatteryLevel');

Argüman geçirme

Native metoda argüman göndermek için invokeMethod'un ikinci parametresi kullanılır. Argümanlar bir Map olarak geçirilir ve native taraf bu anahtarlarla değerlere erişir. Türler Dart ve native arasında otomatik çevrilir.

final result = await channel.invokeMethod(
  'getBatteryLevel',
  {'deviceId': 'phone1'},
);

Uygulama Native metot çağır ve yazdır

Bir MethodChannel oluştur, invokeMethod ile pil seviyesi metodunu bekle ve sonucu yazdır.

Başlangıç kodu

main.dart
class MethodChannel {
  final String name;
  MethodChannel(this.name);
  Future<int> invokeMethod(String method, [Map<String, dynamic>? args]) async => 80;
}

void main() async {
  // invokeMethod ile pil seviyesi metodunu çağır
  // sonucu yazdır
}

Örnek çözüm

main.dart
class MethodChannel {
  final String name;
  MethodChannel(this.name);
  Future<int> invokeMethod(String method, [Map<String, dynamic>? args]) async => 80;
}

void main() async {
  const channel = MethodChannel('samples.flutter.dev/battery');
  final result = await channel.invokeMethod('getBatteryLevel');
  print(result);
}

Beklenen çıktı

80

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 invokeMethod'ın ilk parametresi neyi belirtir?

  • Kanal adını
  • Hata kodunu
  • Dönüş türünü
  • Native tarafta çağrılacak metot adını Doğru cevap

Açıklama: invokeMethod'ın ilk parametresi native tarafta çağrılacak metot adıdır; kanal adı MethodChannel oluşturulurken verilir.

2 Native metot çağır

Soru
final result = await channel.____('getBatteryLevel');
Cevap
final result = await channel.invokeMethod('getBatteryLevel');

Açıklama: Native metodu çağırmak için invokeMethod kullanılır; ilk parametre metot adıdır ve await ile beklenir.

3 invokeMethod parçaları

Kavram Anlamı
invokeMethod Native metot çağırır
await Asenkron bekler
'getBatteryLevel' Metot adı
Map Argüman kabı

İleri seviye bölümündeki tüm dersler