- 2022年11月8日
【Dart/Flutter】コレクションの比較
はじめに Dartのコレクション(List, Set, Map)の比較方法を記載します。 共通 リスト(配列)の比較 順序を考慮する書き方(ListEquality())と考慮しない書き方(DeepCollectionEquality.unordered())がある。 セット(集合)の比較 Map(辞書)の比較
はじめに Dartのコレクション(List, Set, Map)の比較方法を記載します。 共通 リスト(配列)の比較 順序を考慮する書き方(ListEquality())と考慮しない書き方(DeepCollectionEquality.unordered())がある。 セット(集合)の比較 Map(辞書)の比較
目的 Flutterにて、モバイルアプリ(Android/iOS)とFlutter Webの両方に対応するアプリを作成したい。Flutter Webで「dart:html」を使用したいケースが発生した。ただ、こちらを使用するとアプリを実行するときにエラーが発生してしまう。そこで、条件付きインポート(日本語でなんていうのか分からない、、、)にて、アプリ時とWEB時で異なるインポートを行い、一つのソー […]
対象者 日時(DateTime)型と文字列(String)型を変換する方法を知りたい人 日時でどのようにフォーマットを作成するか知りたい人 フォーマット DateFormatのフォーマット 年 yyyy: 4桁の西暦 yy: 西暦の下4桁 月 MM: 2桁の月(ゼロ埋) M:1桁か2桁の月 mが分(Minutes)と被っているので、大文字。 日 dd: 2桁の日(ゼロ埋) d:1桁か2桁の日 時 […]
したかったこと FlutterでFirebaseAuthの認証をしようとプログラムをしていた。認証時にメールアドレスやパスワードが異なると、当然だが認証に失敗し、例外が発生する。そして、その例外をキャッチして適切なエラーメッセージを画面に表示したかったのだが、できなかった。認証処理が非同期で実行されており、その中で例外が発生しているため、try-catchで例外を処理しようとしても、内部で例外が処 […]
この記事の対象者 以下の方が読んで勉強・コピペできる記事になってます。 DartやFlutterで正規表現を使ってみようという方 基本的な正規表現を覚えたい方 実際のユースケースでの正規表現を知りたい方 どうせ正規表現を暗記できない明日の自分 正規表現とは パターンマッチングの一種 正規表現を使えば、通常の文字列検索より複雑で色々な検索を行うことができます。見つかった文字列を処理したり、新しい文字 […]
目的 FlutterでFreezedを使っていると、Listはunmodifiableになります。そのリストの要素を削除するときの処理はどうすればよいかな、と考えたメモです。もちろん、unmodifiableなListを変更するのではなく、unmodifiableなListから新しいListを生成するだけです。新しいListを元の項目に設定し直します。 サンプルコード イメージ的には、住所リスト […]
誰のためか DartやFlutterでURLエンコードやURLデコードをしたい人向けです。 URLエンコードとは、ブラウザのURL欄に日本語とか空白とかが入ったときに「%1G」みたいな文字の羅列に変換するやつです。 結論 色々探しましたが、結局coreに入ってました。 Uri.encodeFullとUri.decodeFullを使います テストコード
Dart2.17.0がリリースされました。私は以下のような記事を作成して、Javaっぽいenumができることを期待してました。 enhanced-enumsで実現できるかな、と期待しましたが、半分しかできませんでした。が、通常の使い方では非常に便利になります。 実装例 まず、enhanced-enumsの実装とテストの例は、以下の通りです。注意点は コンストラクタをconstにする メンバー変数は […]
DartのenumはJavaのenumと比べて、非力かと思っています。 Dart 値を羅列するだけ。 Java enumの一つの値に対して、データを持つことができる。 Dartでenumの値に、名前やメソッドを付随させようとすると、swich文で実現させます。 そこで、DartでもJavaのように、値や関数を定義できるようにしたenumっぽいことをしようと思います。 想定 ユーザ登録時にDropd […]
非同期を含めた処理を書いていると、非同期処理が完了してから、メインの処理を続けたいときがある。もしくは、非同期処理の結果を、メインの処理に表示したいときがある。そんなときに、Completerが役に立つ。 実際に使ったこと 私が実際にCompleterを使った一例は、以下の通りです。 3つの音を連続して再生させるために、それぞれの音の完了時に、次の音の開始前にCompleterで待機した Fire […]