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に潜む便利なヤツら
Search
Takuji Nishibayashi
April 19, 2019
Technology
0
120
AndroidXに潜む便利なヤツら
Takuji Nishibayashi
April 19, 2019
Tweet
Share
More Decks by Takuji Nishibayashi
See All by Takuji Nishibayashi
HiltのCustom Componentについて
takuji31
0
27
java.timeをAndroidで使う
takuji31
0
27
KSPを使ってコード生成
takuji31
0
190
Kotlin Symbol Processing API (KSP) を使って Kotlin ア プリケーションの開発を効率化する
takuji31
1
740
kotlinx.serialization
takuji31
0
450
kanmoba-returns-02.pdf
takuji31
0
130
AndroidXとKotlin Coroutines
takuji31
0
280
Kotlin Inline Class
takuji31
0
98
No more Adapter with Epoxy and Data Binding
takuji31
0
800
Other Decks in Technology
See All in Technology
左手は添えるだけ!?AWS Well-Architected Frameworkが教えてくれる大事なデータの守り方
ohtk79
0
360
BigQueryとCloud Composerを使って大規模バッチ処理をデータパイプラインに再構築する
monotaro
PRO
2
160
プロダクトの不具合傾向分析と改善活動について
masayuki_yamad
0
210
その失敗から何を学ぶ?不確実性をマネジメントして目標達成するための心得 #webtan
aki_iinuma
12
2.9k
IBM Cloud Dojo - いまからでも遅くない!IBM Cloudの認定資格を取ろう 2024
6onoda
0
100
JaSST'24 Tohoku基調講演/jasst24tohoku_keynote
omn
0
110
[JSAI24]Object Segmentation from Open-Vocabulary Manipulation Instructions Based on Optimal Transport Polygon Matching with Multimodal Foundation Models
keio_smilab
PRO
0
120
TCPポート使い切り事件
motooka
1
120
HeadlessなUIライブラリを利用する価値
plaidtech
PRO
10
2.9k
チームでテストを実装していく / Implementing Tests as a Team
ropqa
0
160
React19 β をざっと見る
rakus_fe
0
120
よりシンプルになる Svelte の世界
azukiazusa1
5
1.4k
Featured
See All Featured
Fireside Chat
paigeccino
22
2.7k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Happy Clients
brianwarren
92
6.4k
Side Projects
sachag
451
41k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
9
1.4k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
Code Review Best Practice
trishagee
56
16k
Web development in the modern age
philhawksworth
203
10k
Transcript
AndroidXʹજΉศརͦ͏ͳϠπΒ @takuji31 Mobile Act KYOTO #1
ࣗݾհ
ࣗݾհ • @takuji31 id:takuji31 • Takuji Nishibayashi • Hatena Co.,
Ltd. • App Team • ίϛοΫDAYS • δϟϯϓϧʔΩʔʂ • ΧΫϤϜ
ࣗݾհ • Android • Kotlin • Flu-er • ! h-ps:/
/blog.takuji31.jp • " h-ps:/ /nazuna.takuji31.jp • # $ h-ps:/ /photo.takuji31.jp
AndroidX
LiveData? ViewModel? AppCompat? Naviga5on
ͬͯ·͢ΑͶ
ศརͳͭ৭ʑհ͠·͢
α൛ͷͷؚ·ΕΔͷͰ ͝ར༻ܭըతʹ
ଞʹ͍͍ͷ͋ͬͨΒ ڭ͍͑ͯͩ͘͞ʂ
androidx.ac*vity androidx.fragment
ComponentActivity.viewModels{} Fragment.viewModels{} Fragment.activityViewModels{}
ViewModelΛऔಘͰ͖Δ Delegated property
viewModels ҾͰ ViewModelStoreOwnerΛ୳͢ blockΛͤΔ
valʹͰ͖Δ
Goodbye! private lateinit var
@ContentView
ComponentAc*vity ͱ Fragmentʹ secondory constructor͕Ճ
constructorͷҾʹLayoutͷIDΛ ͤΔ
Goodbye setContentView()
DataBindingbind͢ΕΑͦ͞͏
androidx.lifecycle
ViewModelͱ͔LiveDataͱ͔ೖͬͯ ΔΞϨ
ViewModel.viewModelScope
ViewModelͷCorou,neScope
Context Dispatchers.Main + Job
onCleared() ͰΩϟϯηϧ
Saved State
ViewModelը໘ճసΛੜ͖Δ
Ac#vity͕ϝϞϦʔ͔Β ഁغ͞ΕΔ࣌ࢮ͵
SavedStateHandler Ͱঢ়ଶΛ෮ݩͰ͖Δ
γϯϓϧͳ set/get/remove/contains
getLiveData()
see. h&ps:/ /developer.android.com/ topic/libraries/architecture/ viewmodel-savedstate
androidx.navigation
Naviga&onͷΞϨ
androidx.navigation.safeargs androidx.navigation.safeargs.kotlin
Naviga&onͷxmlʹఆٛͨ͠ભҠઌ ͷargsΛࣗಈੜ
KotlinίʔυੜՄೳ
Goodbye createIntent() methods!
Naviga&onͰը໘ભҠ͠ͳͯ͘ ͑Δ
·ͣͬͯΈͯʂ
Fragment.navGraphViewModels()
ࢦఆͨ͠Naviga&onͷgraphͰੜ͖ ΔFragment
NavHostFragmentͷFragment Ͱ͏ɺΈ͍ͨͳײ͡ͷ࣌ʹ͑ͦ ͏
͜Εॻ͍ͯͯࠓ࣮ͯ͠Δը໘Ͱ ͑ͦ͏ͱࢥͬͨͷͰ͏༧ఆ
h"ps:/ /developer.android.com/ jetpack/androidx