Daiji256

活動

はじめに Jetpack Navigation 3以下 Nav3は柔軟性が高い一方で実装方針が 1 つに定まっているわけではありませんそのため実運用ではアプリの要件に応じて設計する場面が多く実装が複雑になりやすいです 本記事ではNav3 において状態の保持...
はじめに Compose で List を扱うときmutableStateListOf で生成される SnapshotStateList を利用することは多いでしょう しかし SnapshotStateList の toString / equals / hashCo...
はじめに Kotlin には Contracts という関数の内部動作に関するヒントをコンパイラに提供する機能がありますこれによりコンパイラはスマートキャストや変数の初期化判定をより賢く行えるようになります 通常コンパイラは関数の内部の実装まで深く解析しませんが...
本記事はGitHub Actions Advent Calendar 2025 の 19 日目の記事です はじめに GitHub Actions で生成されたファイルを保存する代表的な手段としてGitHub Actions の Artifacts やS3 などの外...
本記事はKotlin Advent Calendar 2025 の 17 日目の記事です はじめに Kotlin MultiplatformKMPで iOS アプリを開発する際Swift と Kotlin の相互運用は避けて通れませんKMP は非常に便利ですが...
はじめに Android にはユーザーが自分の好みや特性に合わせて設定できるシステムスタイルがありますテーマダークモードフォントスケールフォントサイズMaterial Youシステムカラー色のコントラストなどが代表例ですこれらはユーザーの見やすさ...
Composable 関数内でHilt によって @Provides や @Binds で提供されたオブジェクトを直接的に扱いたい場面があります 通常Hilt を用いた依存性注入は ViewModel を経由して行いますたとえば @HiltViewModel に依存...
Android アプリ開発においてStateFlow は UI 状態管理に不可欠ですしかし実際の開発では以下の課題に直面することがあります StateFlow から別の StateFlow への変換 複数の StateFlow を組み合わせた StateFlow...
モバイルアプリにおいてユーザーへの情報伝達は非常に重要ですその中でも短時間でユーザーにフィードバックを伝える際に便利な UI 要素として Snackbar があります この記事ではCompose における Snackbar の基本から画面などのスコープを意識した ...
はじめに Navigation Compose 2.8.0 以降ではシリアル化可能なクラスを用いて型安全に画面間でデータを渡せるようになりました 本記事では画面遷移時の引数を ViewModel でどの受け取るかに焦点を当て4 つの方法を紹介し比較しますす...