これまで何度かトライしてきたスクリーンリーダーを使ってのAndroidアプリ開発。
2018年春にGoogleが第3の開発言語としてDartを加えました。
余り期待はしていませんでしたが、興味はあったので環境を整え、HelloWorldまで触ってみました。
今回も使用したスクリーンリーダーは NVDA です。
必要な物
jdk
android sdk
flutter
を準備します。
Android SDKは API29が必要でした。
flutter以外の準備は スクリーンリーダーを使ってのAndroidアプリ開発_Monaca編 をご覧ください。
必須ではありませんが、Android Studio と Visual Studio Code があると、作業効率が上がります。
Flutterのインストール
[Flutter SDK releases - Flutter[(https://flutter.dev/docs/development/tools/sdk/releases) からSDKをダウンロードして適当なフォルダに解答します。
いくつかのチャンネルがありますが、2020年6月15日現在betaを推奨します。
詳しくは後述します。
解凍後pathも通しておきます。
C:\Android
の場合は
C:\Android\flutter\bin
と設定します。
環境のチェック
$ flutter doctor
コマンドで確認ができます。
私の端末では下記のように表示されます。
実行結果
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, 1.18.0-11.1.pre, on Microsoft Windows [Version 10.0.19041.329], locale ja-JP)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[√] Android Studio (version 3.5)
[√] VS Code (version 1.46.0)
[√] Connected device (1 available)
! Doctor found issues in 1 category.
1項目
!Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
となっていますが、お試しをする分には問題ありません。
プロジェクトの作成
プロジェクトを作成するディレクトリに移動し
$ flutter create [プロジェクト名]
を実行します。
プロジェクトの実行
$ flutter run
で実行します。
てっきりお馴染みの
Hello World
とだけ表示されるアプリができるのかと思いきや、ボタンを押すと値が増えるアプリが表れて少々驚きました。
変更が即座に反映
Flutterの目玉機能がホットリロードです。
コードを変更後、 f5 を押すと即座に内容が更新されます。
初めの実行は時間が掛かりますが、ホットリロードはコードの長さにも寄るのかもしれませんが、それ程の時間を要しません。
最後に
以前チャレンジしたMonacaと比べるとWiFi経由でのデバッグはできません。
実機をUSBケーブルで接続してのデバッグにはなりますが、コードの変更がホットリロードで即座に反映される点は魅力的です。
出来上がったアプリはウェブベースでなくネイティブアプリなので、動きに違和感が感じられませんでした。
ただし、Flutterがbetaでないと
TalkBackを有効にした場合に、画面下部に触れるとアプリが落ちる問題があります。
試してはいませんが、同じコードでiOSアプリも作成できます。
ただコマンドから実行する場合はMacが必要です。
Android StudioではWindowsでも実機での実行ができるようです。