torikatsu.dev

Flutterとかプログラミングとかガジェットとか書きます

プログラミング

【zsh】ターミナルでサクッとメモを取るための設定

いきなりですが、あなたは今ターミナルで作業をしています。 巧みなキーボードさばきで様々なコマンドをバシバシと打ち込みタスクを進めています。 そんな作業中ふとgitのコミットIDを控えたくなりました。 そんな時あなたはどうしますか? OSデフォルトのメ…

【Flutter】ListViewで子要素がListViewの内側に表示されたか検知する

こんにちは、とりかつ(https://twitter.com/torikatsu923)です。 いきなりですが、FlutterにはListViewという大変便利なWidgetがあります。 api.flutter.dev ListView+ListTileを使うことで数分で以下のようなUIを作ることができます。 このような画面をさく…

【Flutter】riverpod 1.0.0-dev.0の変更点まとめ

こんにちは、とりかつ((@torikatsu923)https://twitter.com/torikatsu923)です。 今朝、riverpodの1.0.0-dev.0が公開されました! I have published a dev-release of Riverpod v1: riverpod 1.0.0-dev.0Go give it a try https://t.co/OWGQ6evu4O— Remi Rou…

null-safetyとお友達になるTips

こんにちは、とりかつ((@torikatsu923)https://twitter.com/torikatsu923)です。 Flutterで開発をする際はDartを書くことになります。DartにはNNBD(null-safety) があり、Flutter側でもnull-safetyの対応がどんどん進んでいます。 null-safetyのおかげで、nu…

【Flutter】MVVMなアーキテクチャで初期化処理をしたい!

こんにちは、とりかつ(@torikatsu923)です。 私は趣味でFlutterアプリの開発をしていて、MVVMライクなアーキテクチャをriverpod+StateNotifier+freezedで状態管理をしています。 この状態管理手法は非常に便利ですが、初期化処理をする際にすこし詰まりまし…

【riverpod】画面遷移時にStateNotifierへ値を渡す方法

こんにちは、とりかつ(@torikatsu923)です。 普段私はFlutterで開発しており、riveropd+StateNotifier+freezedでMVVMライクに状態管理をしています。 先日、画面遷移を実装する際、画面遷移時にStateNotifierで作ったViewModelのコンストラクタへ渡そうとし…

Flutterの文脈におけるアーキテクチャと状態管理のパターンと状態管理の手法の違い

こんにちは、とりかつ(@torikatsu923)です。 Flutterは状態管理の手法が数多くあり、状態管理の手法は日々進化しています。 それゆえ、最新の情報に敏感になる必要があり、私は日々色々な記事を読み漁っています。 そんな中でふと、Flutterの状態管理周りの…

riverpodでStateNotifierの取得方法が変わった件について

はじめに こんにちは、とりかつ(@torikatsu923)です。 私はStateNotifier+Riverpod+Freezedを使用してMVVMライクにFlutterアプリを開発しています。 4月の頭にriverpodが0.13.1+1から0.14.0にアップデートされたのですが、このアップデートでは破壊的変更が…

flutter+Stripeでクレジットカード決済をさくっと作る

こんにちは、とりかつ@torikatsu923です。 今回はFlutter+Stripeでサクッとクレジットカード決済を実装する方法を紹介したいと思います はじめに 個人開発をしていると、自身のプロダクトを収益化したい欲に駆られることがあります。 お金を扱う関係上、決済…

Flutterのネイティブ広告をKotlinで実装する

はじめに 先日、Google Mobile Adsのflutterプラグインが発表されました。 developers.google.cn 先祖のプラグインにあたるAdmobは非常に使いづらかった印象だったので、ついにきたか!と非常にわくわくしました。 早速実装をしようと以下の公式docを参照し…

Riverpodのドキュメントを意訳してみた2

お久しぶりです。今回は前回に引き続きriverpodを読んでいたので、メモ代わりに意訳をまとめました。 今回まとめたのは、以下の二つです。 riverpod.dev riverpod.dev Providerをreadする このガイドでは、どうやってProviderを使用するのかを知ることができ…

Riverpodのドキュメントを意訳してみた1

こんにちは。 私は、現在FlutterアプリにRiverpod導入を考えています。導入に先立ってRiverpodの公式ドキュメントを読みました。 いつかドキュメント全体をざっくり見返すときにあまり頭を使いたくないため、メモの意味も兼ねてドキュメントを意訳して記事に…

Dartのコンストラクタ紹介2

こんにちは、とりかつです。 今回は、前回の記事で紹介しきれなかったファクトリコンストラクタについて紹介したいと思います。 ファクトリコンストラクタ おわりに ファクトリコンストラクタ Dartにはgenerative constructor, constant constructorの他にfa…

Dartのコンストラクタ紹介

こんばんは。最近Flutterでアプリ開発をしているとりかつです。 Dartにはコンストラクタが数種類あるのですが、Flutterをはじめたてのころ、けっこうつまづきました。 そこで今回の記事ではDartのコンストラクタの種類と使い方について紹介したいと思います…

WidgetやProviderのライフサイクルについて調べてみた

現在Flutterでアプリ開発をしているのですが、ウィジェットやProviderのライフサイクル周りで少しハマりました。 そこで今回の記事ではWidgetやProviderのライフサイクルについて紹介したいと思います。 ハマったケース1 問題 CustomScrollView内にProvider…

Blocパターンでのフォームバリデーション

最近、Flutterでアプリ開発をしているのですが、Blocパターンでフォームのバリデーションのスマートな実装方法についてまとめられた記事があまりなく、どハマりしました。 そこで今回の記事では、BlocパターンでRxDartを用いたスマートなフォームのバリデー…

Roomとかデータレイヤー実装で詰まったこと ・便利なこと

はじめに こんにちは。とりかつです。 今回も前回に引き続き冷蔵庫管理アプリ「RefMA」 の改修に関する記事です。 今日は前回の記事で予告していた通りRoomとかデータレイヤーの実装で詰まったこととか便利だったことを紹介します。以下は今回の記事のトピッ…

Room使ってデータレイヤーを実装してみた

はじめに こんにちは!とりかつです。 前回に引き続き冷蔵庫管理アプリ「RefMA」 の改修に関する記事です。 今日はRoomを使ったデータレイヤー(緑色の部分)の実装をしていきます。 設計 思ったより記事のボリュームがやばくなりそうなので何回かに分けてい…

アプリの改修方針

アプリの改修方針について はじめに こんにちは。管理人のとりかつです。 冷蔵庫管理アプリ「RefMA」 ↑こいつを改修していくわけですが、アプリの現状と方針をざっくり紹介したいと思います。 現在のアプリの問題点 一応ソースコード をあげておきます。 正…

はじめまして!

ブログを始めました! はじめに はじめまして!ブログ管理人のとりかつです。 私は大学生でITエンジニアを目指しているのですが改めてアウトプットが大事だと感じたのでブログを書くことにしました。 このブログでは以前私がリリースした冷蔵庫管理アプリ「R…