Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
AndroidXʹજΉศརͦ͏ͳϠπΒ @takuji31 Mobile Act KYOTO #1
Slide 2
Slide 2 text
ࣗݾհ
Slide 3
Slide 3 text
ࣗݾհ • @takuji31 id:takuji31 • Takuji Nishibayashi • Hatena Co., Ltd. • App Team • ίϛοΫDAYS • δϟϯϓϧʔΩʔʂ • ΧΫϤϜ
Slide 4
Slide 4 text
ࣗݾհ • Android • Kotlin • Flu-er • ! h-ps:/ /blog.takuji31.jp • " h-ps:/ /nazuna.takuji31.jp • # $ h-ps:/ /photo.takuji31.jp
Slide 5
Slide 5 text
AndroidX
Slide 6
Slide 6 text
LiveData? ViewModel? AppCompat? Naviga5on
Slide 7
Slide 7 text
ͬͯ·͢ΑͶ
Slide 8
Slide 8 text
ศརͳͭ৭ʑհ͠·͢
Slide 9
Slide 9 text
α൛ͷͷؚ·ΕΔͷͰ ͝ར༻ܭըతʹ
Slide 10
Slide 10 text
ଞʹ͍͍ͷ͋ͬͨΒ ڭ͍͑ͯͩ͘͞ʂ
Slide 11
Slide 11 text
androidx.ac*vity androidx.fragment
Slide 12
Slide 12 text
ComponentActivity.viewModels{} Fragment.viewModels{} Fragment.activityViewModels{}
Slide 13
Slide 13 text
ViewModelΛऔಘͰ͖Δ Delegated property
Slide 14
Slide 14 text
viewModels ҾͰ ViewModelStoreOwnerΛ୳͢ blockΛͤΔ
Slide 15
Slide 15 text
valʹͰ͖Δ
Slide 16
Slide 16 text
Goodbye! private lateinit var
Slide 17
Slide 17 text
@ContentView
Slide 18
Slide 18 text
ComponentAc*vity ͱ Fragmentʹ secondory constructor͕Ճ
Slide 19
Slide 19 text
constructorͷҾʹLayoutͷIDΛ ͤΔ
Slide 20
Slide 20 text
Goodbye setContentView()
Slide 21
Slide 21 text
DataBindingbind͢ΕΑͦ͞͏
Slide 22
Slide 22 text
androidx.lifecycle
Slide 23
Slide 23 text
ViewModelͱ͔LiveDataͱ͔ೖͬͯ ΔΞϨ
Slide 24
Slide 24 text
ViewModel.viewModelScope
Slide 25
Slide 25 text
ViewModelͷCorou,neScope
Slide 26
Slide 26 text
Context Dispatchers.Main + Job
Slide 27
Slide 27 text
onCleared() ͰΩϟϯηϧ
Slide 28
Slide 28 text
Saved State
Slide 29
Slide 29 text
ViewModelը໘ճసΛੜ͖Δ
Slide 30
Slide 30 text
Ac#vity͕ϝϞϦʔ͔Β ഁغ͞ΕΔ࣌ࢮ͵
Slide 31
Slide 31 text
SavedStateHandler Ͱঢ়ଶΛ෮ݩͰ͖Δ
Slide 32
Slide 32 text
γϯϓϧͳ set/get/remove/contains
Slide 33
Slide 33 text
getLiveData()
Slide 34
Slide 34 text
see. h&ps:/ /developer.android.com/ topic/libraries/architecture/ viewmodel-savedstate
Slide 35
Slide 35 text
androidx.navigation
Slide 36
Slide 36 text
Naviga&onͷΞϨ
Slide 37
Slide 37 text
androidx.navigation.safeargs androidx.navigation.safeargs.kotlin
Slide 38
Slide 38 text
Naviga&onͷxmlʹఆٛͨ͠ભҠઌ ͷargsΛࣗಈੜ
Slide 39
Slide 39 text
KotlinίʔυੜՄೳ
Slide 40
Slide 40 text
Goodbye createIntent() methods!
Slide 41
Slide 41 text
Naviga&onͰը໘ભҠ͠ͳͯ͘ ͑Δ
Slide 42
Slide 42 text
·ͣͬͯΈͯʂ
Slide 43
Slide 43 text
Fragment.navGraphViewModels()
Slide 44
Slide 44 text
ࢦఆͨ͠Naviga&onͷgraphͰੜ͖ ΔFragment
Slide 45
Slide 45 text
NavHostFragmentͷFragment Ͱ͏ɺΈ͍ͨͳײ͡ͷ࣌ʹ͑ͦ ͏
Slide 46
Slide 46 text
͜Εॻ͍ͯͯࠓ࣮ͯ͠Δը໘Ͱ ͑ͦ͏ͱࢥͬͨͷͰ͏༧ఆ
Slide 47
Slide 47 text
h"ps:/ /developer.android.com/ jetpack/androidx