アプリ開発・ゲーム開発のための勉強ブログ

FlutterとUnrealEngineの勉強をしています。

オブジェクト指向について分かりやすい解説まとめ (追記予定)

継承と合成+インターフェースについて youtu.be 継承とポリモーフィズムについて インターフェースと合成 youtu.be

【Flutter】Riverpodの実装 箇条書き

Riverpodの利点 基本的な流れは公式ドキュメントに従って行います。 【実装フロー】 ①パッケージの追加 公式ドキュメントに従いパッケージを追加していきます。 riverpod_lint/custom_lintについてはさらに別の手順が必要なので注意。 flutter pub run build…

【Flutter】GoRouterの記事まとめ ※追記予定

【パッケージ追加~実装】 zizyotol.hatenablog.com 【名前付きルート(nameによる遷移)】 zizyotol.hatenablog.com 【pathParametersを使った遷移の管理】 zizyotol.hatenablog.com 【go()とpush()の使い分け】 zizyotol.hatenablog.com 【エラー処理】 zi…

【Flutter】GoRouter go()とpush()の使い分け

goとpushの使い分けはルート階層を意識して行う必要があります。 goでは前のルートを破棄してターゲットルートに飛び、pushでは前のルートの上にターゲットルートを追加しナビゲーションスタックを維持します。 そのためpushで画面遷移を行った場合、前のペ…

【Flutter】GoRouterでのエラー処理

認識されないURLを開こうとする等エラーを出した場合に、エラーページのスクリーンウィジェットに飛ばす処理を行う。 errorBuilder: GoRouterの中でerrorBuilderを指定してエラー処理を行うスクリーンに画面遷移させる GoRouter( /* ... */ errorBuilder: (c…

【Flutter】GoRouter パスパラメーターを使って画面遷移を管理

まずbuilder関数に渡されるstateについて builder()にはstateオブジェクトが渡されます。 stateオブジェクトはGoRouterStateクラスのインスタンスで、いくつかの有用な情報を含んでいます。 そのGoRouterStateクラスのプロパティ(情報)がpathやname、pathP…

【Flutter】GoRouter 名前付きルート

GoRouterはpathでは無くnameパラメータによって画面遷移させる事もできます。 列挙型でルート名を定義・管理することができるのでpathを引数として渡す遷移より管理がしやすいです。 呼び出す際に、pathによる場合は文字列リテラルを渡しますが、名前付きル…

【Flutter】よく出てくる引数のvalueとはなんなのか

valueはウィジェットのプロパティやコンストラクタの一部として使用される。 テキストフィールドやチェックボックスなどの入力ウィジェットでは、ユーザーが入力した値を表示するために "value" プロパティが使われることがあります。 valueを引数として渡し…

【Flutter】StatefulWidgetのsetState()の使い方 :状態の更新

setState() 状態の更新を伝え、build()を呼び出し再描画する様に指示するメソッド 状態が変わって表示を更新する時にはsetState()を呼び出す 【フロー】 setState()の中に状態の変化を書く ↓ そしてそのsetState()を呼び出す関数を作る void _toggle~(){}等…

【Flutter】StatelessWidgetとStatefulWidgetのライフサイクル

StatelessWidget その名の通り状態を持たないウィジェット 一度画面を描画するとその後状態が変化しない 固定のテキストやアイコン等 最初の画面構築時にコンストラクタが呼び出されてから一度だけbuild()が呼び出される StatefulWidget 状態を持つウィジェ…

【Flutter】GoRouterで画面遷移を行う 実装フロー

pub.dev Navigator 1・2に代わる簡易的な画面遷移のプラグインとして登場したのがGoRouterです。 GoRouterはコンストラクタで指定するルート(Route)の集合体によって全体が制御され、管理されています。 また、ディープリンクやその他の一般的な画面遷移…

【FLutter】ローカライズについて

アプリ作成時にskeletonコマンドを打つことでローカライズされる flutter create -t skeleton ファイル名 ローカライズについての参考資料 マルチプラットフォーム対応 最新フレームワーク Flutter 3入門 作者:掌田津耶乃 秀和システム Amazon

【Flutter】ウィジェットの機能はできるだけシンプルにする 応答性と再利用を意識

ウィジェットは1つだけの機能に収めるべきという考え そうすることで応答性も高く再利用も可能になる 再利用が可能になることでコードの総数も減る 常に新しいウィジェットクラスを作ることで再利用が容易になる 応答性とは:画面のサイズが変わっても対応で…

【Flutter】VSCodeのインスペクター

ウィジェットツリー内でのウィジェットの位置や UIがどのウィジェットに対応しているか見ることができる コマンドパレット→Dart Open DevTools in Browser マルチプラットフォーム対応 最新フレームワーク Flutter 3入門 作者:掌田津耶乃 秀和システム Amazon

【Flutter】SingleChildScrollViewとListViewの使い方

SingleChildScrollView(children:) 複数の子ウィジェットをスクロールできる様にする scrollDirection: Axis.horizontal/vertical でスクロール方向を決める デフォはvertical 少数のデータを表示するのに適している(子ウィジェットを一度にビルドするため…

【Flutter】開発フロー:パッケージの追加 Riverpod編 ※追記予定

いちいち探すの面倒くさいですよね・・・ ターミナルからインストールするのが癖になってるけど、pubspec.yamlに書く様にしたいですね 今回はRiverpodに必要なパッケージを整理 ・まずはRiverpod本体 ・ターミナルから取り込む場合のメモ flutter pub add fl…

【Flutter】開発フロー:アプリ作成~初期コメントの削除 VSCode編

コマンドパレットからflutterで検索しNew Project選択 若しくはターミナルでコマンド flutter create -t skeleton ↓ フォルダを選択して作成したら初期コメントを全削除: コマンドパレットからRemove All Comments 拡張機能はこちらを使用 マルチプラットフ…

【Flutter】StatefulWidgetの構造をやっと理解した

Flutterの状態管理を行うStatefulWidget(若しくはStatelessWidget)の中身について今更ながら理解しました。 やはり一行、1コードずつ丁寧に理解を進めていくことが大事ですね。 以下の例を使って進めて行きましょう。 class ClassName extends StatefulWid…