Daiji256

Kotlin

はじめに Jetpack Navigation 3以下Nav3Composeによる状態管理を前提に構築された新しい画面遷移ライブラリです高い柔軟性とカスタマイズ性を備えています この記事ではNav3による画面遷移の設計について個人的な結論1に至るまでの試行...
はじめに Jetpack Navigation 3以下Nav3は柔軟性が高い一方で実装方針が1つに定まっているわけではありませんそのため実運用ではアプリの要件に応じて設計する場面が多く実装が複雑になりやすいです 本記事ではNav3において状態の保持と描画を...
はじめに Composeで List を扱うときmutableStateListOf で生成される SnapshotStateList を利用することは多いでしょう しかし SnapshotStateList の toString / equals / hashCod...
はじめに KotlinにはContractsという関数の内部動作に関するヒントをコンパイラに提供する機能がありますこれによりコンパイラはスマートキャストや変数の初期化判定をより賢く行えるようになります 通常コンパイラは関数の内部の実装まで深く解析しませんがco...
本記事はKotlin Advent Calendar 202517日目の記事です はじめに Kotlin MultiplatformKMPiOSアプリを開発する際SwiftKotlinの相互運用は避けて通れませんKMPは非常に便利ですがトラブルなく使い...
Composable関数内でHiltによって @Provides や @Binds で提供されたオブジェクトを直接的に扱いたい場面があります 通常Hiltを用いた依存性注入はViewModelを経由して行いますたとえば @HiltViewModel に依存性注入し...
Androidアプリ開発においてStateFlow はUI状態管理に不可欠ですしかし実際の開発では以下の課題に直面することがあります StateFlow から別の StateFlow への変換 複数の StateFlow を組み合わせた StateFlow の作...
モバイルアプリにおいてユーザーへの情報伝達は非常に重要ですその中でも短時間でユーザーにフィードバックを伝える際に便利なUI要素としてSnackbarがあります この記事ではComposeにおけるSnackbarの基本から画面などのスコープを意識したSnackbar...
はじめに Navigation Compose 2.8.0以降ではシリアル化可能なクラスを用いて型安全に画面間でデータを渡せるようになりました 本記事では画面遷移時の引数を ViewModel でどの受け取るかに焦点を当て4つの方法を紹介し比較しますすべて...
UriHandler とは UriHandler は androidx.compose.ui.platform が提供するURIWebページファイル外部アプリなどを開くためのインターフェースですComposable関数からは以下のようにシンプルに呼び出せます...