DroidKaigi2019ͷίʔυΛಡΈղ͘@chigichan24 / Kazuki Chigita#student_apk15 min
View Slide
features
• いろんなことを学べる• どのように Multi Module を実現しているのか?• どのようにDaggerで配っているのか?• coroutinesをどう活かしてるのか?• JetPackのどんな機能を使っているのか?features
• いろんなことを学べる• どのように Multi Module を実現しているのか?• どのようにDaggerで配っているのか?• coroutinesをどう活かしてるのか?• JetPackのどんな機能を使っているのか?• どのようなTestを書いているのか?featuresͳΜͱͳ͘ػೳՃ͕Ͱ͖Δ ͔ΒཪଆͷΈΛ͖ͪΜͱཧղ͢Δ
• いろんなことを学べる• どのように Multi Module を実現しているのか?• どのようにDaggerで配っているのか?• coroutinesをどう活かしてるのか?• JetPackのどんな機能を使っているのか?• どのようなTestを書いているのか?featuresίʔυϕʔεͰͬͯΈ·͠ΐ͏ʂ
topic1: MultiModule & Dagger
topic1: MultiModule & Daggersetting.gradle
topic1: MultiModule & Daggersetting.gradleMainActivityとprovideするFragmentの設定Daggerの設定
topic1: MultiModule & Daggersetting.gradleFluxに関するベース,各種拡張関数等が⼊っている
topic1: MultiModule & Daggersetting.gradle各種ページごとにmoduleが切られFragmentの具体的実装が⼊っている
topic1: MultiModule & Daggersetting.gradlemodelを扱っている.iOSからも⾒えるがParcelableにしたいところをexpect/actualで⼯夫している
topic1: MultiModule & Daggersetting.gradleroomとかFireBaseとかで保存するデータを管理するデータ保存先を抽象化するためにrepositoryを挟んでいる
topic1: MultiModule & Daggersetting.gradleTimberがいる
topic1: MultiModule & DaggerDIで気になるところü MultiModuleでの戦略
topic1: MultiModule & DaggerMainActivity.kt
topic1: MultiModule & DaggerMainActivity.kt各種Fragmentを配る
topic1: MultiModule & DaggerDbComponentModule.kt
topic1: MultiModule & DaggerDbComponentModule.kt各種Storeを配る
topic1: MultiModule & DaggerAppComponent.kt
topic1: MultiModule & DaggerAppComponent.kt各種moduleからcomponentをbuild
topic1: MultiModule & Dagger֤.PEVMFͱ%BHHFSͷ.PEVMFΛඥ͚ͮͯཧ͍ͯ͠Δ
topic2: Coroutines
topic2: Coroutines122
topic2: CoroutinesAPIKtor-clientが基本的によしなにやってくれるDBwithContext(coroutineContext)で実⾏する(指定したスレッドで実⾏)
topic2: CoroutinesAPIKtor-clientが基本的によしなにやってくれるDBwithContext(coroutineContext)で実⾏する(指定したスレッドで実⾏)結果をrepositoryで統合
topic2: CoroutinesAPIKtor-clientが基本的によしなにやってくれるDBwithContext(coroutineContext)で実⾏する(指定したスレッドで実⾏)結果をrepositoryで統合ActionCreatorへ
topic2: CoroutinesKtorDroidKaigiApi.kt
topic2: CoroutinesRoomDatabase.kt
topic2: CoroutinesDataSessionRepository.kt
topic2: CoroutinesSessionContentsActionCreator.kt
topic2: CoroutinesDispatcherにdispatchする機能と,subscribeする機能が実装されている
topic2: CoroutinesDispatcher.kt
topic3: Android JetPackLifeCycleDataBindingLiveDataNavigation等
topic3: Android JetPackLifeCycleDataBindingLiveDataNavigation等֤.PEVMFͱ%BHHFSͷ.PEVMFΛඥ͚ͮͯཧ͍ͯ͠Δҙ֎ʹ߇͑Ί
·ͱΊ
まとめDroidKaigiのコードで,⽩⽶が5杯くらい進むので,いっぱい読み解こう.DroidKaigiのコードは集合知.どんどん参考にする.今⽇話せなかったこともいろいろ⾯⽩いので,まとめます.