June 30, 2022

【BigQuery】Flutter Firebase Analytics/Crashlyticsで送ったログをBigQueryで調べる

Firease Analytics, Crashlyticsは配列でネストされているので少し分析しづらいです。 個人的によく使うクエリを少しメモしておきます。 今回はFlutterからログを送信しています。FlutterではSDK側でよしなにやってはくれないので event_name などの部分は独自で定義した名前になります。 例) page_view, screen_name Read more

March 31, 2022

AndroidのSYSTEM_ALERT_WINDOWの歴史

Androidには初期の頃から他のアプリの上にも独自のViewを表示できる素晴らしい機能SYSTEM_ALERT_WINDOWの機能があります。 Facebook Messangerのメッセージ受信時に表示されるオーバーレイもこの機能を使って実装されています。(現在はおそらく違う。後述) PiPが無い時代もこの機能を使ってYouTubeや動画を画面に重ねていつでも見れるアプリを作ってる友人がいました。 他のアプリを開いている時にも任意のViewを重ねられるので、Twitterを見ながら動画を見るなどができてSYSTEM_ALERT_WINDOWが実装されているアプリは同類のアプリと差別化できていたり、便利なものが多々ありました。 Read more

February 28, 2022

【Flutter】異なる文字サイズを整えてきれいに見せる

デザインの世界ではテキストの文字間隔を整えてきれいに見せることをカーニング(kerning)と呼びます。 ロゴ等はsvgなどのベクターや画像で用意すると思うので、アプリの世界でカーニングをきっちりやる機会は少ないかと思いますが、 カーニングと同様にテキストをきれいに見せる手法として、数字より単位等の文字を小さくすると 必要な情報の優先度が上がり美しく見える法則があります。 そのため、よくデザイナーの方から渡されるデザインでフォントサイズが異なるテキストが横に並んでいる場合があります。 Read more

December 22, 2021

さよならfreeze! ついにきたKotlin/Native New Memory Management!!

この記事はKotlin Advent Calendar 2021 の22日目の記事です。 Kotlin Advent Calendarに参加するのは今年で7年連続7回目になりました🎉🐦 毎年22日近辺を書いています。マイルストーンの時から書いている記事もあるので情報が古くなっているものもありますが、 過去にはこんな記事を書いていました。 Read more

October 31, 2021

【Flutter】 InAppWebViewでリンクのクリックをハンドリングする

WebViewのサードパーティライブラリにInAppWebView というのがあります。 WebView内のリンクをクリックした際に、デフォルトのブラウザを開く等、なにかしら処理をしたいことがあると思います。 これまではJavaScriptを使ったりして頑張る必要があったのですが、JavaScriptをつかわずにリンクのクリックをフックする方法を解説します。 2021年10月の最新バージョンは5.3.2です。 Read more

September 11, 2021

FlutterでDefaultで使われている色たち

※ Flutterバージョンは執筆時最新の2.5.0のtagでコードのリンクを載せています。 Flutterはマテリアルデザインをベースに作られているため、 マテリアルデザインに沿ったデザインのアプリを作るときは既存のコンポーネント(Widget)を利用でき爆速で開発できます。 さらに爆速で開発していくためにはデザインコンポーネントを定義していく必要がありますが、 Flutterにはテーマの概念があり、自分で定義した任意のテーマを設定できます。 Read more

© AAkira