CodeBlanks Logo Icon CodeBlanks

MethodChannel nedir?

MethodChannel ile Dart-native köprüü kurmayı öğrenirsin.

MethodChannel nedir?

MethodChannel, Dart kodu ile platforma özgü native kod (Android'de Kotlin/Java, iOS'te Swift/Objective-C) arasında iletişim kurmak için kullanılan bir köprüdür. Kanal adı her iki tarafta aynı olmalıdır; bu ad üzerinden mesajlar gönderilir ve alınır.

const channel = MethodChannel('samples.flutter.dev/battery');

Kanal adı

Her MethodChannel benzersiz bir adla oluşturulur. Aynı ad hem Dart tarafında hem native tarafta kullanılır. Genellikle ters alan adı biçiminde yazılır, örneğin samples.flutter.dev/battery. Ad farklıysa mesajlar karşı tarafa ulaşmaz.

const channel = MethodChannel('samples.flutter.dev/battery');

Uygulama MethodChannel oluştur

'samples.flutter.dev/battery' adıyla bir MethodChannel oluştur ve 'ok' yazdır.

Başlangıç kodu

main.dart
class MethodChannel {
  final String name;
  MethodChannel(this.name);
}

void main() {
  // MethodChannel oluştur
  // 'ok' yazdır
}

Örnek çözüm

main.dart
class MethodChannel {
  final String name;
  MethodChannel(this.name);
}

void main() {
  const channel = MethodChannel('samples.flutter.dev/battery');
  print('ok');
}

Beklenen çıktı

ok

Soru ve cevaplar

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

1 MethodChannel'ın amacı nedir?

  • Veritabanı sorguları çalıştırmak
  • Dart ile native platform kodu arasında iletişim kurmak Doğru cevap
  • İki widget arasında veri taşımak
  • HTTP istekleri göndermek

Açıklama: MethodChannel Dart ile native kod arasında köprü görevi görür; widget veri taşımak, HTTP veya veritabanı ile ilgisi yoktur.

2 MethodChannel oluştur

Soru
const channel = ____('samples.flutter.dev/battery');
Cevap
const channel = MethodChannel('samples.flutter.dev/battery');

Açıklama: MethodChannel oluşturmak için MethodChannel constructor'ı çağrılır ve kanal adı parametre olarak verilir.

3 MethodChannel parçaları

Kavram Anlamı
MethodChannel Dart-native köprüsü
native Platforma özgü kod
channel İletişim kanalı
'samples.flutter.dev/battery' Kanal adı

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