Android implementasyonu
- Flutter kursu
- Uzman seviye
- Ders 18/39
- 4 dk
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
// 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
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ı
result.____("1.0");
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 |