【 Flutter 】Flutter を 基礎 から 学習 ( ライブラリ ) part206 プラットフォームアクセスとPluginパッケージ
「 基礎 から 学ぶ Flutter 」という書籍で 学習 したことを ブログでアウトプットしていこうと思います。今回は ライブラリ ( part206 )です。
前回
【 Flutter 】Flutter を 基礎 から 学習 ( ライブラリ ) part205 便利なパッケージ
引き続き、ライブラリについて学びます。
プラットフォームアクセスとPluginパッケージ
気を取り直して次のセクションに進むことにしました。
自分の実現したい機能が Dart packages (pub.dev) や巷に存在しない場合は自作するしかありません。
その場合はAndroid, iOSの両方で実装を行ってDartで統治するというふうしてパッケージを作成します。
Android, iOS両方の言語を知っている必要があるということですね。
この話題でTapiokaの話を思い出しました。
プラットフォームへのアクセス方法
プラットフォームへのアクセス方法(今回のサンプルの流れ?)は以下のように記述されています。
DartからSwift・Kotlinにデータを渡す(ネイティブの画面を立ち上げ、そこに表示)
Swift・KotlinからDartへ結果データを返す(遷移元であるFlutterの画面に結果を表示)
Swift・Kotolinの操作(ネイティブ画面を閉じる操作)によってDartで定義したコールバックが起動できるようにする(Flutterの画面にネイティブから渡した値を表示)
どこに記述すればよいやら・・・
P284のサンプルはいつものようにlib/main.dartに記述すればよさそうです。
P285のKotlinのソースコードは./android/app/src/main/kotlin/com/example/flutter_app/MainActivity.kt
に記述するようです。
P285のSwiftのソースコードは./ios/Runner/AppDelegate.swift
だと思います。
今回はmain.dart
を記述しておきました。
MethodChannel
とはなんぞ?
調べると以下のように記述されていました。
Dartからプラットフォーム (Android/iOS等) のメソッドを呼び出すもしくは、プラットフォームからDartのメソッドを呼び出すためのAPIです。
Dartと各プラットフォームのメソッドとの橋渡しのような存在なんですね。
最後に
どのファイルにサンプルコードを実装すればよいか本書で説明してほしいです😇
今日はここまで!
ディスカッション
コメント一覧
まだ、コメントがありません