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
Android Architecture Componentsをメルカリ カウルに入れてみた話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
protosd
November 22, 2017
840
1
Share
Android Architecture Componentsをメルカリ カウルに入れてみた話
protosd
November 22, 2017
More Decks by protosd
See All by protosd
裏から見た表のカウル
protosdhk
0
1.9k
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
340
エンジニアに許された特別な時間の終わり
watany
106
240k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
230
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
200
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
450
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Transcript
Android Architecture Components ΛϝϧΧϦ ΧϧʹೖΕͯΈͨ גࣜձࣾικՖ഼
Souzoh confidential and proprietary ࣗݾհ w ໊લՖ഼ ͨʹΌΜ w
৬छ"OESPJEΤϯδχΞܾಆऀ w ॴଐϝϧΧϦικ w (JUΞΧϯτQSPUPTEIL 2
Souzoh confidential and proprietary 3
Souzoh confidential and proprietary Android Architecture Components 4
Souzoh confidential and proprietary Android Architecture Components 5 • Lifecycle
Activity/Fragmentͱಉظͯ͠ঢ়ଶ͝ͱʹॲཧΛࠩ͠ࠐΊΔ • LiveData Activity/Fragment ͕ੜଘ͍ͯ͠Δ߹ʹͷΈσʔλΛྲྀͯ͘͠ΕΔ • ViewModel ը໘ճస࣌ʹActivity/Fragment ͕࠶ੜ͞ΕͯσʔλΛҾ͖ܧ͛Δ • Room SQLite ͷ Object Mapper
Souzoh confidential and proprietary ϝϧΧϦΧϧͷߏ 6 w .71 w 3Y+BWB
Activity / Fragment Presenter onCreate onDestroy Viewͷొ CompositeDisposable.add CompositeDisposable.dispose Viewͷදࣔ etc
Souzoh confidential and proprietary Lifecycle 7
Souzoh confidential and proprietary Lifecycle 8 w 1SFTFOUFSͷվम w "DUJWJUZ'SBHNFOUͷվम
Souzoh confidential and proprietary Lifecycle 9 w ಋೖʹ͓͚ΔϝϦοτ w .71Ͱಉ͡Α͏ͳׂΛ࣋ͭ1SFTFOUFS͕طʹଘࡏ͍ͯ͠ΔͷͰมߋ͕؆୯
w ຖճϥΠϑαΠΫϧܥͷϝιουͰ1SFTFOUFSΛݺͼग़͢ॲཧ͔Β։์ w ؾΛ͚͍ͭͨϙΠϯτ w 'SBHNFOU"DUJWJUZͱ1SFTFOUFSʹը໘ͷঢ়ଶύϥϝʔλ͕ࢄͯ͠͠·͍ͬͯ Δ߹ͳͲ7JFX㱻1SFTFOUFSؒͷແବͳΓऔΓ͕૿͑Δ w 1SFTFOUFSʹدͤΔɺํ͔ΒΞΫηεͰ͖Δ4UBUFΫϥεΛ͓͍࣋ͬͯͨ΄͏͕ ྑ͍͔
Souzoh confidential and proprietary LiveData 10
Souzoh confidential and proprietary LiveData 11 w ϝϧΧϦɹΧϧͰΞϓϦશମʹσʔλΛͨ͢Ίʹ 1VCMJTI4VCKFDU#FIBWJPS4VCKFDUΛ࣮ 1SFTFOUFSͰߪಡొΛ͍ͯ͠Δ
ɾ֤ηϧʹ͍͍ͭͯΔ-JLF6O-JLFϘλϯ ɾͷຊ୨ͷՃॲཧ ɾӾཡཤྺͷߋ৽ॲཧ ɾϐοΫΞοϓͷՃ → LiveDataʹஔ͖͑
Souzoh confidential and proprietary LiveData 12 w 1VCMJTI4VCKFDU#FIBWJPS4VCKFDUʹมΘΔ.VUBCMF-JWF%BUBΛੜ w 1SFTFOUFSʹߪಡॲཧΛՃ
Souzoh confidential and proprietary LiveData 13 w ಋೖʹ͓͚ΔϝϦοτ w ֤ը໘Ͱશମ௨ܥͷ$PNQPTJUF%JTQPTBCMFEJTQPTF͕ෆཁʹ
w ؾΛ͚͍ͭͨϙΠϯτ w 1SFTFOUFSͰར༻͢Δ߹-JGFDZDMF0XOFSΛ͓ͯ͘͠ඞཁ͕͋Δ w ༷ʑͳը໘Ͱ͞ΕΔ1VCMJTI4VCKFDU#FIBWJPS4VCKFDUΛஔ͖͑Δ ͷख͔ؒͳ͋ ແཧͯ͠ஔ͖͑ͳͯ͘ྑ͍͔Εͳ͍
Souzoh confidential and proprietary ViewModel 14
Souzoh confidential and proprietary ViewModel 15 w ϝϧΧϦΧϧॎը໘Λલఏʹ࣮͞Ε͍ͯΔ w ग़ը໘ͷύϥϝʔλೖྗɺ࿈ଓεΩϟϯը໘ͳͲͷը໘ભҠΛ
લఏͱͨ͠ϨΠΞτͷͨΊTBWFE*OTUBODF4UBUFΛར༻ w ແݶεΫϩʔϧͷ7JFX1BHFSΛ࣋ͭϥϯΩϯάը໘ͳͲͰҰ දࣔͨ͠λϒͷใΛϝϞϦΩϟογϡ͍ͯ͠Δ → ViewModelʹஔ͖͑ → ViewModelʹஔ͖͑Ͱ͖ͦ͏
Souzoh confidential and proprietary ViewModel 16 w ಉҰͷ7JFX.PEFMͰLFZͰෳੜՄೳ ͷ'SBHNFOUʹඥ͚Δ͜ͱͰແݶ7JFX1BHFS ݫີʹผͷ
'SBHNFOU ͰҎલͷը໘ঢ়ଶΛҾ͖ग़ͤΔ
Souzoh confidential and proprietary ViewModel 17 w ಋೖʹ͓͚ΔϝϦοτ w 7JFXͷॳظԽɺݺͼग़͠ॲཧΛ*OTUBODF4UBUFܥͷϝιουʹࢄͤ͞
Δඞཁ͕ͳ͘ͳΓίʔυ͕·ͱ·ͬͨ w ؾΛ͚͍ͭͨϙΠϯτ w 7JFX.PEFMͷதʹ৭ʑೖΕΔ͜ͱ͕Ͱ͖Δ͕ɺԿΛೖΕ͓ͯ͘ͷ͔ ໌֬ʹ͓ͯ͘͜͠ͱ͕େࣄ
Souzoh confidential and proprietary ·ͱΊ 18 • ϝϧΧϦ ΧϧͰҰ෦ػೳΛLifecycle,LiveData,ViewModelͰ࡞ •
ͱͱͷߏ͕Lifecycleʹ͍ͦͬͯͨ͜ͱ͋Γɺಋೖ؆୯ͩͬͨ • RxJava2Ͱ݁Ͱ͖͍ͯΔ෦Λࠩ͠ସ͑Δͷ͋·Γࢫຯ͕ͳ͍
Souzoh confidential and proprietary ࠷ޙʹ 19 ※ٕज़ॻͳͷʹԆʑͱΞχϝιϯάʹ͍ͭͯ͘ޠ͍ͬͯΔͷίʔφʔ͕͓͢͢ΊͰ͢ ϝϧΧϦ ΧϧͰಉਓຊΛग़͠·ͨ͠
Souzoh confidential and proprietary ͋Γ͕ͱ͏͍͟͝·ͨ͠ 20