CodeBlanks Logo Icon CodeBlanks

Android implementasyonu

Android tarafında plugin metot yazmayı öğrenirsin.

Android implementasyonu

Android tarafında plugin, FlutterPlugin arayüzünü uygulayan bir Kotlin sınıfıdır. onMethodCall metodu Dart'tan gelen MethodCall'ları yakalar ve cevaplar.

class MyPluginAndroid: FlutterPlugin, MethodCallHandler {
  override fun onMethodCall(call: MethodCall, result: Result) {
    if (call.method == "getVersion") {
      result.success("1.0")
    } else {
      result.notImplemented()
    }
  }
}

Kotlin ve MethodCall

Kotlin ile yazılan plugin, FlutterPlugin ve MethodCallHandler arayüzlerini uygular. MethodCall.method çağrının adını, MethodCall.argument parametrelerini verir. Result.success cevabı Dart'a döndürür.

Uygulama AndroidPlugin simülasyonu

AndroidPlugin adında bir Dart sınıfı tanımla. onMethodCall(String method) metodu String döndürsün: method == 'getVersion' ise '1.0', aksi halde 'unknown'. main'de AndroidPlugin örneği al ve onMethodCall('getVersion') sonucunu yazdır.

Başlangıç kodu

main.dart
// AndroidPlugin sınıfını tanımla
// onMethodCall metodu String alıp String döndürsün
// version çağrısı için 1.0, diğerleri için unknown döndürsün

void main() {
  // AndroidPlugin örneği al ve version çağrısının sonucunu yazdır
}

Örnek çözüm

main.dart
class AndroidPlugin {
  String onMethodCall(String method) {
    if (method == 'getVersion') {
      return '1.0';
    }
    return 'unknown';
  }
}

void main() {
  final plugin = AndroidPlugin();
  print(plugin.onMethodCall('getVersion'));
}

Beklenen çıktı

1.0

Soru ve cevaplar

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

1 Android tarafında Dart'tan gelen çağrılar hangi metodla yakalanır?

  • build
  • onCreate
  • onMethodCall Doğru cevap
  • onClick

Açıklama: MethodCallHandler arayüzünün onMethodCall metodu Dart'tan gelen MethodCall'ları alır; build widget, onCreate activity, onClick ise view olayları içindir.

2 result.success çağrısı

Soru
result.____("1.0");
Cevap
result.success("1.0");

Açıklama: result.success cevabı Dart'a döndürür; error hata durumu için 3 argüman ister, notImplemented argüman almaz, complete Result üzerinde geçerli bir metod değildir.

3 Android implementasyonu eşleşmeleri

Kavram Anlamı
Android Mobil platform
MethodCall Dart'tan gelen çağrı
Kotlin Android programlama dili
onMethodCall Çağrı yakalama

Uzman seviye bölümündeki tüm dersler