Dart

【Flutter Dart】リストの結合、展開

final friends = [ 'Mary', 'Brad' ]; // 方法その1 final all1 = [ 'Bob', 'Tom', ] + friends; print(all1); // output // [Bob, Tom, Mary, Brad] // 方法その2 final all2 = [ 'Bob', 'Tom', ...friends ]; print(all2); // output // [Bob, Tom, Mary, …

【Flutter Dart】繰り返し(while, for, for in)

while 指定した条件がtrueの場合に処理をする 1回も実行されないことがある var i = 1; while (i <= 5) { print('x' * i); i++; } print('Done'); // output // x // xx // xxx // xxxx // xxxxx // Done for 指定した条件がtrueの場合に処理をする 1回も実…

<Flutter Dart>varとfinal、constの違い

var 型推測できる 型指定できない 変更可能(1回以上値をセットできる) // var // 型推測できる var name = 'Bob'; // 値が文字列なのでString型と推測される // 型指定できない // var String lastName = 'Pit'; // コンパイルエラー // 変更可能(1回以上…

<Flutter Dart>文字列の検索・置換

文字列の検索・置換 // 元の文字列 String greeting = 'My name is Bob.'; // Bobを含むか bool isBob = greeting.contains('Bob'); // Tomを含むか bool isTom = greeting.contains('Tom'); print(greeting); print(isBob); print(isTom); // output // My …

<Flutter Dart>文字列の小文字・大文字変換

// 文字列 String title = 'Dart course'; // 文字列を小文字に変換 String lowerCaseTitle = title.toLowerCase(); // 文字列を大文字に変換 String upperCaseTitle = title.toUpperCase(); print(lowerCaseTitle); print(upperCaseTitle); // output // da…

<Flutter Dart>長い文字列に改行を入れる

下記のような長い文字列で改行を入れたい場合にどうするか? print('My name is Bob.I am 18 years old.'); // output // My name is Bob.I am 18 years old. 改行する場合は改行位置に\nを入れる print('My name is Bob.\nI am 18 years old.'); // output …

<Flutter Dart>特殊文字のエスケープ

シングルクォーテーションでくくっている文字列内にシングルクォーテーションがあった場合にはエラーとなります。これはひとつの例であり、特殊文字が含まれる場合は対応が必要となります。 print('I'm Bob'); // output // Error: String starting with ' m…

<Flutter Dart>String interpolation(変数の文字列展開)

String interpolation(変数の文字列展開) 変数を文字列に展開 String name = 'Bob'; print('My name is $name'); // output // My name is Bob 変数をくくる 変数の後に続けてアルファベットを入力するとエラーとなる String name = 'Bob'; print('My name i…

パッケージの導入時のpubspec.yamlの書き方

はじめに パッケージ導入する時にはpubspec.yamlのdependencyに追記します。 pub.devから取得する以外にも方法があります。 その方法をメモしておきます。 pub.devからパッケージ取得 gitのリポジトリからパッケージ取得 ローカルからパッケージ取得 例 rive…

アプリのアイコン画像を設定する

はじめに アプリをリリースしようとするときに必要になります。 個人的にはリリース前でもアイコンを設定しておくとモチベーションがあがります。 手順 アイコン画像(1024px)は既にある前提です。 用意してあるアイコン画像をプロジェクト配下のフォルダに保…

MaterialApp.routerのrouterConfig

はじめに 画面遷移でgo_routerを使っていて、initialLocationを設定しても効いていないことがあった。 原因はMaterialApp.routerの引数にrouteInformationProviderをセットし忘れていたからだった。 原因を調べていたときにFlutter公式では下記のようにroute…

セグメントボタン(SegmentedButton)を使った実装

はじめに セグメントボタンの使い道としては 複数の選択肢から選択し、 ビューを切り替える ソート順を切り替える など、が挙げられます。 SegmentedButtonクラス # コンストラクタ SegmentedButton({ Key? key, required List<ButtonSegment<T>> segments, required Set<T> sele</t></buttonsegment<t>…

iOSのWireless debugging(Wifi経由での実機デバッグ)

はじめに 実機で動かすとモチベーションがあがるタイプです。 ときどきケーブルが無くて、仕方なくシミュレータでデバッグしてました。 Flutter3.10.0でWifi経由で実機にアプリ転送し、デバッグできるようになったようです。 iOSのWireless debugging設定 Fl…

[Flutter]Dart3で追加されたClass Modifier

はじめに Google I/O 2023でDart3のリリースが報告されました。 Dart3でClass Modifierが追加されたので試してみました。 (Class Modifierとは、抽象Classの頭につけているabstractなどです) interfaceクラス // vehicle.dart interface class Vehicle { v…