Flutter: assert と throw の使い分け
July 15, 2024
Dart 言語には assert という機能があります。assert の第一引数が条件式で、こちらが true であれば何も起きず、false であれば例外が throw されます。ass ...
Dart 言語には assert という機能があります。assert の第一引数が条件式で、こちらが true であれば何も起きず、false であれば例外が throw されます。ass ...
参考 DevTools でのアプリケーションのサイズ確認について Measuring your app’s size | Flutter https://docs.flutter.dev/perf/app-size Use the app size tool | Flutter https://docs.flutter.dev/tools/devtools/app-size ツリーシェイキングについて Excluding Dart code from the release compiled executable | Flutter Community | Medium https://medium.com/flutter-community/excluding-dart-code-from-the-release-compiled-executable-7af8c18cd241 ビルド後の ...
Flutter において Dart の Stream はなくてはならない存在。たとえ開発者が意図的に使っていなかったとしても、ステート管理ライブラリの屋台骨は Stream が支えています。 StreamController() ...
ロンドン大学で MSc Computer Science: Project モジュールを履修中。 講義内容に関して記録した個人的なスタディノートです。 全 12 週のうち 6〜12 週目の内容を記録します。( ...
ロンドン大学で MSc Computer Science: Software design and programming モジュールを履修中。 講義内容に関して記録した個人的なスタディノートです。 全 12 週のうち 6〜12 週目の内容を記録しま ...
既存のクラスのコードそのものには手を入れる事なくメソッドを追加する方法が提供されています。 Extension methods | Dart https://dart.dev/language/extension-methods 使用例 # calculator.dart class Calculator { int value = 0; void add(int a, int b) { value = ...
素敵なブログ記事を見かけたので記録。ウィジェットテスト中に、そのときのウィジェットのスクリーンショットを画像で取得することができます。 Taking screenshots during ...
ほんとにただの1行メモで恐縮ですが、Flutter の DevTools の説明は以下の動画がヒジョーに分かりやすい! Dive into DevTools - YouTube https://www.youtube.com/watch?v=_EYk-E29edo 動画では DevTools でできる以下のことが ...
StatefulWidget(の State)は debugFillProperties() メソッドを持っています。これをオーバーライドするとデバッグが少しだけ楽になります。 debugFillProperties method - State class ...
現在 Dart には Self 型を表すようなキーワードはありません。キーワードはないものの、Self 型を実現することはでき、具体的には次のように書けば実現可能 ...
通常のテスト方法 # flutter create でアプリを作成すると次のテストファイルが作られています。 myapp/test/widget_test.dart // This is a basic Flutter widget test. // // To perform an interaction with a widget in your test, use the WidgetTester // utility in the flutter_test package. For ...
次のメソッドの実行順番を確認するためにログを出力させてみた。 createState() build() setState() initState() didChangeDependencies() didUpdateWidget() deactivate() dispose() import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatefulWidget { const MyApp({ super.key, }); @override State<MyApp> createState() { print("MyApp.createState()"); return _MyAppState(); } } class _MyAppState extends State<MyApp> { int ...
Flutter でアニメーションをするにはいろいろな方法がある。こちらの記事がわかりやすい。 Flutter のお手軽にアニメーションを扱える Animated 系 Widget をすべて紹介 | by mono | Medium ...
なんとなく思いついたのでコードをメモ。 一度作成したウィジェットをキャッシュに保存しておいて、必要になったときだけウィジェットを再構築する。 次 ...
パフォーマンス改善のために、ウィジェットをキャッシュしておいて必要なときだけリビルドしたい、そんなときはこんなユーティリティウィジェットが便 ...
provider | Flutter package https://pub.dev/packages/provider こんな感じ。 import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; void main() { runApp(const MyApp()); } class CounterModel extends ChangeNotifier { int count = 0; void increment() { count++; notifyListeners(); } } class MyApp extends StatelessWidget { const MyApp({ super.key, }); @override Widget build(BuildContext context) { return MaterialApp( home: ChangeNotifierProvider( create: (_) => CounterModel(), child: const MyPageWidget(), ), ); } } class MyPageWidget extends StatelessWidget ...
Flutter で複数の InheritedWidget の値を参照しているときに、参照先ウィジェットがどのタイミングで再ビルドされるのかを確認したかった。その記録。 2つの InheritedWidget の値が同時に ...
自己理解ために InheritedWidget でのデータ保持&アクセスをステップバイステップで実装していきます。 1. InheritedWidget で保持するデータに子ウィジェットからアクセスする # count の ...
現在このブログの記事は GitLab で管理しており、ブログも Gitlab Pages でホスティングされています。バックアップも兼ねて、ブログのデータを GitHub にミラーリングしてお ...
ロンドン大学で MSc Computer Science: Project モジュールを履修中。 講義内容に関して記録した個人的なスタディノートです。 全 12 週のうち 1〜5 週目の内容を記録します。(1 ...
ロンドン大学で MSc Computer Science: Software design and programming モジュールを履修中。 講義内容に関して記録した個人的なスタディノートです。 全 12 週のうち 1〜5 週目の内容を記録します ...
初めてこの状態になったときは焦りました。対応手順をメモしておきます。 きっかけは H.264 コーデックの動画ファイルを Ubuntu で再生しようとしたときのこと。デ ...
Mac に VMware Fusion Player をインストールし、その上で Ubuntu を起動するところまでの手順をメモしていきたいと思います。 VMware Fusion は、Mac の仮想化ツールです。 VMware Fusion is a software hypervisor ...
ロンドン大学で MSc Computer Science: Object-oriented programming モジュールを履修中。 講義内容に関して記録した個人的なスタディノートです。 全 12 週のうち 6〜12 週目の内容を記録します。 ...
ロンドン大学で MSc Computer Science: Cloud computing モジュールを履修中。 講義内容に関して記録した個人的なスタディノートです。 全 12 週のうち 6〜12 週目の内容を記録します。 ...
GCP の Cloud Run のようなインスタンス毎の課金制 PaaS サービスをはじめ、Cloud Functions や AWS の Lambda といった FaaS の永遠の課題はコールドスタート問題ですね! 今回は、私 ...
ロンドン大学で MSc Computer Science: Object-oriented programming モジュールを履修中。 講義内容に関して記録した個人的なスタディノートです。 全 12 週のうち 1〜5 週目の内容を記録します。( ...
ロンドン大学で MSc Computer Science: Cloud computing モジュールを履修中。 講義内容に関して記録した個人的なスタディノートです。 全 12 週のうち 1〜5 週目の内容を記録します。( ...
ロンドン大学で MSc Computer Science: Information security モジュールを履修中。 講義内容に関して記録した個人的なスタディノートです。 全 12 週のうち 6〜12 週目の内容を記録します。 ...
ローカルで正常に機能していた Puppeteer ですが、Cloud Run にデプロイした後はエラーが出てしまい動かなくなりました。対応した手順のメモ書きです。 デプロ ...