Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AndroidXの意外な修正コスト PreferenceFragmentCompat編
Search
Koji Wakamiya
December 19, 2018
Programming
1.4k
0
Share
AndroidXの意外な修正コスト PreferenceFragmentCompat編
AndroidX
Koji Wakamiya
December 19, 2018
More Decks by Koji Wakamiya
See All by Koji Wakamiya
Flutterコントリビューションのススメ
d_r_1009
1
1.2k
人気サービスをFlutter Webでリプレースするとどうなるのか
d_r_1009
0
1.2k
モバイルアプリケーション 開発組織の“学び”
d_r_1009
0
400
Add-to-appの戦い方
d_r_1009
0
1.9k
開発チーム主導で iOSの新機能に対応する 3つのポイント
d_r_1009
0
700
FlutterKaigi2021
d_r_1009
0
1.9k
Flutter?
d_r_1009
0
450
Room2.1 DatabaseView あるある
d_r_1009
0
730
AAC Paging & Kotlin化の紹介
d_r_1009
0
1.4k
Other Decks in Programming
See All in Programming
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
1.9k
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
390
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
200
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
130
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
28
22k
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
280
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
260
AI Agent と正しく分析するための環境作り
yoshyum
2
500
Back to the roots of date
jinroq
0
850
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
210
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
840
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
150
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Google's AI Overviews - The New Search
badams
0
1k
Technical Leadership for Architectural Decision Making
baasie
3
360
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
530
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Become a Pro
speakerdeck
PRO
31
5.9k
How STYLIGHT went responsive
nonsquared
100
6.1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
150
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Balancing Empowerment & Direction
lara
6
1.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
570
Transcript
AndroidXの意外な対応コスト PrefernceFragmentCompat編 Koji Wakamiya / Studyplus Inc. 2018.12.19 @日本Androidの会12月定例会
自己紹介 若宮浩司 (@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の継承クラスが変化 android androidx
DialogPreferenceの継承クラスが変化 ✎ androidxへの更新時にリファクタリング ◦ PreferenceとDialogFragmentが分離 ◦ リストに表示とダイアログ表示の ロジックが分離されている ✎ 表示するダイアログをカスタマイズする
ライブラリのため、影響が大きい ◦ 書き換えに2〜3日
事例のまとめ ✎ androidxへの対応は2019年のトピックに ◦ TargetSDK 28への更新が必須 ◦ Support Libは28.0.0まで ✎
アプリ独自でカスタマイズしている箇所に思わ ぬ影響が出る恐れが ◦ 対応は早め早めが良さそう ◦ 対応必要なケースを教えてください!