はじめに Kotlin には Contracts という、関数の内部動作に関するヒントをコンパイラに提供する機能があります。これにより、コンパイラはスマートキャストや変数の初期化判定をより賢く行えるようになります。 通常、コンパイラは関数の内部の実装まで深く解析しませんが...
Kotlin
本記事は、Kotlin Advent Calendar 2025 の 17 日目の記事です。 はじめに Kotlin Multiplatform(KMP)で iOS アプリを開発する際、Swift と Kotlin の相互運用は避けて通れません。KMP は非常に便利ですが...
Composable 関数内で、Hilt によって @Provides や @Binds で提供されたオブジェクトを直接的に扱いたい場面があります。 通常、Hilt を用いた依存性注入は ViewModel を経由して行います。たとえば @HiltViewModel に依存...
Android アプリ開発において、StateFlow は UI 状態管理に不可欠です。しかし、実際の開発では以下の課題に直面することがあります: StateFlow から別の StateFlow への変換 複数の StateFlow を組み合わせた StateFlow...
モバイルアプリにおいてユーザーへの情報伝達は非常に重要です。その中でも、短時間でユーザーにフィードバックを伝える際に便利な UI 要素として Snackbar があります。 この記事では、Compose における Snackbar の基本から、画面などのスコープを意識した ...
UriHandler とは UriHandler は androidx.compose.ui.platform が提供する、URI(Web ページ、ファイル、外部アプリなど)を開くためのインターフェースです。Composable 関数からは、以下のようにシンプルに呼び出せ...
はじめに Navigation Compose 2.8.0 以降では、シリアル化可能なクラスを用いて、型安全に画面間でデータを渡せるようになりました。 本記事では、「画面遷移時の引数を ViewModel でどの受け取るか」に焦点を当て、4 つの方法を紹介し比較します。す...