#385 2025-07-13
NavigationにおけるStateの管理方法, Jetpack ComposeでsnapshotFlowとcollectAsStateを使い分ける, 開発者向け「Canaryチャンネル」発表, など
Android、開発者向け「Canaryチャンネル」を導入
GitHubで見るhttps://android-developers.googleblog.com/2025/07/android-canary.html
Androidが開発者向けに新しい「Canaryチャンネル」を発表。従来のDeveloper Previewを置き換え、年間を通じて最新の開発中機能をOTAで継続的に提供。バグや変更が多いため開発用デバイスでの利用を推奨。ベータ版は引き続き利用可能。
NavigationにおけるStateの管理方法
GitHubで見るJetpack ComposeでsnapshotFlowとcollectAsStateを使い分ける
Jetpack ComposeでStateの変更を監視する際、多くの開発者がcollectAsStateを過度に使用し、パフォーマンス問題に直面しています。本記事では、ViewModelからUIへのデータ表示にはcollectAsState、スクロールやアニメーションなどCompose固有の状態変化への副作用にはsnapshotFlowと、それぞれの適切な使い分けを実例とともに解説。不要な再コンポジションを避け、アプリの応答性を向上させる実践的なテクニックを紹介します
Composeのアクセシビリティフォーカスとキーボードフォーカスの使い分け
GitHubで見るhttps://proandroiddev.com/its-all-about-accessibility-focus-and-compose-de1ec352649a
Composeでフォーカス制御を実装する際、TalkBackなどのスクリーンリーダー向けのアクセシビリティフォーカスと、キーボード操作用のキーボードフォーカスは異なるAPIを使用する必要があります。記事では、focusRequesterがキーボードフォーカス専用であること、アクセシビリティフォーカスにはsemanticsモディファイアを使うこと、それぞれのトラバーサル順序の変更方法などを具体的なコード例と共に解説しています。
DevinでAndroidアプリの古いデザインを1日で一括改善
GitHubで見るhttps://engineer.retty.me/entry/retty_android_devin
RettyのAndroidアプリで長年放置されていた古いオレンジ色のTopBar(22画面)を、AI開発ツールDevinを活用して新しいデザインに一括置換した事例。手動で参考となるPRを1つ作成し、それをDevinに渡して残りの画面への適用を依頼。JavaからJetpack Composeへの移行も含め、本来なら数日かかる作業を1日で完了。「改善したいけど費用対効果が低い」タスクにAIが有効であることを実証。
Google Play Consoleから問題のあるバージョンのユーザーに更新を促す方法
GitHubで見るhttps://qiita.com/ryo_mm2d/items/e4b4392804a1a0a0a489
Google Play Consoleの復元ツールを使って、問題のあるバージョンを利用中のユーザーに更新を求めることができます。国やAndroidバージョンでターゲティングも可能で、内部アプリ共有を使ったテストも行えます。ただし、アプリがクラッシュする状況での動作は未確認で、反映まで半日以上かかるため、緊急時にはIn-App Updateなどの実装も検討すべきとのことです。
Now in Android #119
GitHubで見るhttps://medium.com/androiddevelopers/now-in-android-119-7b86ad2b3e81
Android 16が正式リリースされ、カメラ・メディアAPIの強化、プログレススタイル通知、ランタイムカラーフィルターなどが追加されました。また、外部ディスプレイ接続によるデスクトップ体験の開発者プレビューや、様々なフォームファクターに対応するアダプティブアプリ構築のための新機能、自動テストに関する動画コンテンツ、AndroidXライブラリの最新アップデートなど、Android開発者向けの重要な更新情報が紹介されています。