invokeMethod
- Flutter kursu
- İleri seviye
- Ders 47/69
- 4 dk
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
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
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
final result = await channel.____('getBatteryLevel');
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ı |