0
0

More than 3 years have passed since last update.

スクリーンリーダーを使ってのAndroidアプリ開発_Flutter編

Posted at

これまで何度かトライしてきたスクリーンリーダーを使っての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でも実機での実行ができるようです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0