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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Koji Wakamiya
December 19, 2018
Programming
0
1.3k
AndroidXの意外な修正コスト PreferenceFragmentCompat編
AndroidX
Koji Wakamiya
December 19, 2018
Tweet
Share
More Decks by Koji Wakamiya
See All by Koji Wakamiya
Flutterコントリビューションのススメ
d_r_1009
1
1k
人気サービスをFlutter Webでリプレースするとどうなるのか
d_r_1009
0
1.1k
モバイルアプリケーション 開発組織の“学び”
d_r_1009
0
390
Add-to-appの戦い方
d_r_1009
0
1.8k
開発チーム主導で iOSの新機能に対応する 3つのポイント
d_r_1009
0
690
FlutterKaigi2021
d_r_1009
0
1.8k
Flutter?
d_r_1009
0
440
Room2.1 DatabaseView あるある
d_r_1009
0
720
AAC Paging & Kotlin化の紹介
d_r_1009
0
1.3k
Other Decks in Programming
See All in Programming
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
560
15年目のiOSアプリを1から作り直す技術
teakun
0
570
並行開発のためのコードレビュー
miyukiw
2
2.1k
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
270
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
140
文字コードの話
qnighy
43
16k
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
2
180
Oxlint JS plugins
kazupon
1
1.2k
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
190
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
180
CSC307 Lecture 13
javiergs
PRO
0
310
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
230
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
860
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
200
BBQ
matthewcrist
89
10k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
The untapped power of vector embeddings
frankvandijk
2
1.6k
Side Projects
sachag
455
43k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
140
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
480
Chasing Engaging Ingredients in Design
codingconduct
0
130
How to make the Groovebox
asonas
2
2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
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まで ✎
アプリ独自でカスタマイズしている箇所に思わ ぬ影響が出る恐れが ◦ 対応は早め早めが良さそう ◦ 対応必要なケースを教えてください!