Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AndroidXの意外な修正コスト PreferenceFragmentCompat編
Search
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
870
人気サービスをFlutter Webでリプレースするとどうなるのか
d_r_1009
0
1.1k
モバイルアプリケーション 開発組織の“学び”
d_r_1009
0
360
Add-to-appの戦い方
d_r_1009
0
1.7k
開発チーム主導で iOSの新機能に対応する 3つのポイント
d_r_1009
0
640
FlutterKaigi2021
d_r_1009
0
1.7k
Flutter?
d_r_1009
0
420
Room2.1 DatabaseView あるある
d_r_1009
0
700
AAC Paging & Kotlin化の紹介
d_r_1009
0
1.3k
Other Decks in Programming
See All in Programming
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
380
SwiftUIで本格音ゲー実装してみた
hypebeans
0
370
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
430
エディターってAIで操作できるんだぜ
kis9a
0
730
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.3k
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
TestingOsaka6_Ozono
o3
0
150
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
JETLS.jl ─ A New Language Server for Julia
abap34
1
400
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
330
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Visualization
eitanlees
150
16k
Navigating Team Friction
lara
191
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
The Cult of Friendly URLs
andyhume
79
6.7k
Become a Pro
speakerdeck
PRO
31
5.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
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まで ✎
アプリ独自でカスタマイズしている箇所に思わ ぬ影響が出る恐れが ◦ 対応は早め早めが良さそう ◦ 対応必要なケースを教えてください!