見出し画像

書籍情報保管アプリ 『はじめに』

(2,024.5.5追記)ついに公開できました!


アプリの概要

書籍メモアプリを作ろうとしています。参考にしたサイト。

最初は、1つ目の「PickBook」を参考にしようかと思っていたのですが、Barcodeモジュールのインストールで、google関係がうまくいかず(詳細は割愛)、ISBNをOpenBDから引用する2つ目のサイトを参考にしました。

BarCodeスキャナーの導入

Scannerの選択

最初は下記のスキャナーを導入しようとするが、色々エラーが発生。

Google Play関係の設定との情報も見つけたのですが、最終的に断念。確かにLikeの数も多いのですが、最終更新が2年前というのが少し気になってやめました。

最終的に導入したのはこちら。 mobile_scanner。問題なく導入完了。(もしかしたら、Firebase導入のところに記載のSDKバージョンの修正をしていたかも)

Android simulatorのカメラ

最初よくわからなかった。。
キッチンの奥のリビングの「壁」と「テーブル」にバーチャル画像が投影されるのね。ちょっと昔のファミコンのよう。


ページ間の変数受け渡し

Scannerが別ページでの呼び出しとなった(mobile_scannerのexampleから借用した)ため、読み込んだISBNを元のページに渡す処理を作成する。

以下を参考に「戻る」ボタンを作成。


      appBar: AppBar(
          title: const Text('Scanning ISBN code'),
          leadingWidth: 85, //leadingWidthを設定する
          leading: TextButton(
            child: const Text('Back'),
            onPressed: () => Navigator.pop(context, barcode),
          ))
  Future<void> _navigateAndDsplayBarcodeScan(BuildContext context) async {
    final result = await Navigator.push(
        context,
        MaterialPageRoute(
          builder: (context) => const BarcodeScannerWithScanWindow(),
        ));
    setState(() {
      _isbn = result.displayValue;
    });
  }

Firestoreの導入

主に参考にしたサイトは以下です。

エラー対処

途中途中で、色々エラーが発生した。基本はSDKやら何やらのバージョンの指定の問題。

少し前のFlutterでは下記のように直接Projectのファイルに書き込みしていたみたい。


どうやら最近(3?)のFlutterでは、miniSDKversionやらの変数に格納されている。
下記のフォルダの flutter.groovy ファイルのバージョンの数値を変更して動いた。

./flutter/packages/flutter_tools/gradle/src/main/groovy
class FlutterExtension {
    /** Sets the compileSdkVersion used by default in Flutter app projects. */
    static int compileSdkVersion = 34

    /** Sets the minSdkVersion used by default in Flutter app projects. */
    static int minSdkVersion = 24 * <== ここ

    /**
     * Sets the targetSdkVersion used by default in Flutter app projects.
     * targetSdkVersion should always be the latest available stable version.
     *
     * See https://developer.android.com/guide/topics/manifest/uses-sdk-element.
     */
    static int targetSdkVersion = 34

    /**
     * Sets the ndkVersion used by default in Flutter app projects.
     * Chosen as default version of the AGP version below as found in
     * https://developer.android.com/studio/projects/install-ndk#default-ndk-per-agp.
     */
    static String ndkVersion = "25.1.8937393" * <== ここ

下記に記載の細かなエラーも修正。


現時点の見た目

ひとまず、Android simulatorで下記の動作まで確認。


これからやりたいこと


  • ログイン画面

  • 本一覧表示

  • ライセンス関係表示

  • 書評保存

  • UI/UXの修正

次の記事


この記事が気に入ったらサポートをしてみませんか?