• 2022年10月21日

[Flutter Web]CORS policyを解決する3つの方法

解決したいこと Flutter WebでレンダラーをCanvaskitに選択すると、外部サーバにある画像を読み込もうとすると読み込めず、以下のようなCORSエラーが発生する。Flutterのアセットにして自分のサーバに配置できるといいのだが、全ての画像を持ってくることはできない。外部サーバの持ち主に頼んで、読み込めるよう設定してもらうこともできない。そこで外部サーバの画像を直接読めるようにしたい。 […]

  • 2022年10月16日
  • 2022年10月16日

[Dart/Flutter] 専用ライブラリを作って、Conditional Importing(条件付インポート)でアプリとWebのソースを共存させる

目的 Flutterにて、モバイルアプリ(Android/iOS)とFlutter Webの両方に対応するアプリを作成したい。Flutter Webで「dart:html」を使用したいケースが発生した。ただ、こちらを使用するとアプリを実行するときにエラーが発生してしまう。そこで、条件付きインポート(日本語でなんていうのか分からない、、、)にて、アプリ時とWEB時で異なるインポートを行い、一つのソー […]

  • 2022年9月25日

【Flutter/Dart】DateFormatで日付・日時(DateTime)と文字列を変換

対象者 日時(DateTime)型と文字列(String)型を変換する方法を知りたい人 日時でどのようにフォーマットを作成するか知りたい人 フォーマット DateFormatのフォーマット 年 yyyy: 4桁の西暦 yy: 西暦の下4桁 月 MM: 2桁の月(ゼロ埋) M:1桁か2桁の月 mが分(Minutes)と被っているので、大文字。 日 dd: 2桁の日(ゼロ埋) d:1桁か2桁の日 時 […]

  • 2022年9月22日

【Flutter】非同期処理内で発生した例外を、runZoneGuardedを使って例外処理する

したかったこと FlutterでFirebaseAuthの認証をしようとプログラムをしていた。認証時にメールアドレスやパスワードが異なると、当然だが認証に失敗し、例外が発生する。そして、その例外をキャッチして適切なエラーメッセージを画面に表示したかったのだが、できなかった。認証処理が非同期で実行されており、その中で例外が発生しているため、try-catchで例外を処理しようとしても、内部で例外が処 […]

  • 2022年9月19日
  • 2024年2月28日

【Flutter/Dart】で 正規表現リファレンス RegExpで文字列チェック、置換などを一通り

この記事の対象者 以下の方が読んで勉強・コピペできる記事になってます。 DartやFlutterで正規表現を使ってみようという方 基本的な正規表現を覚えたい方 実際のユースケースでの正規表現を知りたい方 どうせ正規表現を暗記できない明日の自分 正規表現とは パターンマッチングの一種 正規表現を使えば、通常の文字列検索より複雑で色々な検索を行うことができます。見つかった文字列を処理したり、新しい文字 […]

  • 2022年9月17日
  • 2022年9月17日

【Flutter】横丸でグラデーションのあるボタンを作った

したかったこと 現在の携わっているFlutterのプロジェクトは、もともとデザイン中心のテンプレートからアプリ開発を行っている。ボタンが横丸かつ微妙にグラデーション掛かってて、おしゃれで、デザイン的には気に入っている。ただ、内部的にはContainerをGestureDetectorでラップしているため、ボタンを無効にする、というボタン特有の行為ができない。そこで、デザインをそのままで、ボタンと機 […]

  • 2022年9月16日
  • 2022年9月16日

【Flutter】「Tickers used by AnimationControllers should be disposed by calling dispose() on the AnimationController itself. Otherwise, the ticker will leak.」 というエラーが発生

エラーの内容 Flutterで他の方が作ったソースを実行していると、以下のエラーが発生した。 Tickers used by AnimationControllers should be disposed by calling dispose() on the AnimationController itself. Otherwise, the ticker will leak. 問題点と解決方法 […]

  • 2022年9月12日
  • 2022年9月12日

[Dart] unmodifiableなListの項目を削除したい

目的 FlutterでFreezedを使っていると、Listはunmodifiableになります。そのリストの要素を削除するときの処理はどうすればよいかな、と考えたメモです。もちろん、unmodifiableなListを変更するのではなく、unmodifiableなListから新しいListを生成するだけです。新しいListを元の項目に設定し直します。 サンプルコード イメージ的には、住所リスト […]

  • 2022年7月1日

DartでURLエンコードとURLデコードを実施する

誰のためか DartやFlutterでURLエンコードやURLデコードをしたい人向けです。 URLエンコードとは、ブラウザのURL欄に日本語とか空白とかが入ったときに「%1G」みたいな文字の羅列に変換するやつです。 結論 色々探しましたが、結局coreに入ってました。 Uri.encodeFullとUri.decodeFullを使います テストコード