AndroidX
AndroidXの意外な対応コストPrefernceFragmentCompat編Koji Wakamiya / Studyplus Inc.2018.12.19 @日本Androidの会12月定例会
View Slide
自己紹介若宮浩司 (@D_R_1009)スタディプラス 株式会社✎ Android一本勝負✎ AAC大好き✎ Pixel3欲しい
MISSION「学ぶ喜びをすべての人へ」多くの人がStudyplusを通じて学習のきっかけを見つけ、学習を楽しく継続できることを実現する。
AndroidX 使ってますか?
目次✎ AndroidXとは✎ AndroidX対応が必要なこと✎ PrefernceFragmentCompatのケース
AndroidXとは✎ Android Jetpackパッケージ(名)○ Google I/O 2018で発表○ ActivityやRecyclerViewといったAndroidライブラリを再編✎ ライブラリのリリースとAndroidのリリースを切り離す○ GMSのように個別の機能ごとにバージョンが更新されていくhttps://developer.android.com/jetpack/androidx/
AndroidX対応✎ TargetSDK 28以上へ✎ Migrate to AndroidX○ AndroidStudio3.2のmenuから実行可能■ gradle.propertiesを更新■ build.gradleを更新■ import文を更新https://developer.android.com/jetpack/androidx/migrate/
TargetSDK 28対応✎ 非 SDK インターフェースの制限○ BNVのshift mode対応など✎ フォアグラウンド サービスのパーミッション追加✎ Apache HTTP クライアントのサポート終了○ GMapなどの対応状況も確認必須https://developer.android.com/about/versions/pie/android-9.0-migration
意外な対応ケース✎ 個人でPreferenceFragmentCompatに対応するライブラリを作成○ Time/DateのPickerDialog対応https://github.com/koji-1009/ChronoDialogPreference
DialogPreferenceの継承クラスが変化androidandroidx
DialogPreferenceの継承クラスが変化✎ androidxへの更新時にリファクタリング○ PreferenceとDialogFragmentが分離○ リストに表示とダイアログ表示のロジックが分離されている✎ 表示するダイアログをカスタマイズするライブラリのため、影響が大きい○ 書き換えに2〜3日
事例のまとめ✎ androidxへの対応は2019年のトピックに○ TargetSDK 28への更新が必須○ Support Libは28.0.0まで✎ アプリ独自でカスタマイズしている箇所に思わぬ影響が出る恐れが○ 対応は早め早めが良さそう○ 対応必要なケースを教えてください!