Slide 1

Slide 1 text

Android Jetpack from Google I/O 2018 2018.06.07 umeda.apk 2018.06.08 hakata.apk @satorufujiwara

Slide 2

Slide 2 text

About me Satoru Fujiwara (@satorufujiwara) Android Engineer @CyberAgent ,Inc Organizer of Shibuya.apk ༁ॻ : Kotlin ΠϯɾΞΫγϣϯ ஶॻ : Android ΞϓϦઃܭύλʔϯೖ໳

Slide 3

Slide 3 text

Android Jetpack

Slide 4

Slide 4 text

ը૾ : https://android-developers.googleblog.com/2018/05/use-android-jetpack-to-accelerate-your.html

Slide 5

Slide 5 text

Android Jetpackͱ͸ • ྑ͍ΞϓϦΛૣ͘؆୯ʹͭ͘ΔͨΊͷɺϥΠϒϥϦ΍πʔϧ΍ ઃܭࢦ਑ • Foundation (جຊ)ɺArchitecture (ΞϓϦઃܭ)ɺBehavior (ಈ ࡞)ɺUIͷ4ͭʹ෼ྨ͞Ε͍ͯΔ • Support Library΍Architecture Components΋ؚ·ΕΔ ը૾ : https://developer.android.com/jetpack/

Slide 6

Slide 6 text

What’s new in Android Jetpack • WorkManager • Navigation • Paging • Slices • Android KTX ը૾ : https://android-developers.googleblog.com/2018/05/use-android-jetpack-to-accelerate-your.html

Slide 7

Slide 7 text

What’s new in Android Jetpack • WorkManager • Navigation • Paging • Slices • Android KTX

Slide 8

Slide 8 text

WorkManager • όοΫάϥ΢ϯυॲཧΛߦ͏ͨΊͷϥΠϒϥϦ • ը૾ͷΞοϓϩʔυͷΑ͏ͳɺΞϓϦΛऴྃͯ͠΋ܧଓ͍ͨ͠ ॲཧʹ࢖͏ • ΞϓϦΛऴྃͨ͠৔߹ʹதஅ͍ͨ͠ॲཧʹ͸ThreadPool΋͘͠ ͸RxJavaΛ࢖͏

Slide 9

Slide 9 text

WorkManager • ಺෦తʹ͸JobScheduler or Firebase JobDispatcher or AlarmManager͕࢖ΘΕΔ ը૾ : https://www.youtube.com/watch?v=IrKoBFLwTN0

Slide 10

Slide 10 text

WorkManagerͷ࣮ߦྫ

Slide 11

Slide 11 text

What’s new in Android Jetpack • WorkManager • Navigation • Paging • Slices • Android KTX

Slide 12

Slide 12 text

Navigation • ୯ҰActivity಺ͷFragmentͷը໘ભҠ (Fragment Transaction)Λ ߦ͏ϑϨʔϜϫʔΫ • ม਺(Bundle)ͷड͚౉͠Up/Backͷ੍ޚ΍Deep Links΋ఆٛ͢Δ ͜ͱ͕Ͱ͖Δ • Android Studio 3.2 ͔Βಋೖ͞ΕͨNavigation EditorΛ࢖͍ฤू ͢Δ

Slide 13

Slide 13 text

Navigation Editor ը૾ : https://android-developers.googleblog.com/2018/05/use-android-jetpack-to-accelerate-your.html

Slide 14

Slide 14 text

Navigation Editor • ฤू݁Ռ͸XMLͰอଘ͞ΕΔ

Slide 15

Slide 15 text

Navigation • ίʔυ͔Β͸NavigationControllerͳͲΛ༻͍ͯભҠΛݺͼग़͢

Slide 16

Slide 16 text

What’s new in Android Jetpack • WorkManager • Navigation • Paging • Slices • Android KTX

Slide 17

Slide 17 text

Paging • Architecture ComponentsͷPagingͷStableόʔδϣϯ͕ग़ͨ • RecyclerViewʹද͍ࣔͯ͠Δσʔλͷʮଓ͖ΛಡΈࠐΉʯϥΠϒ ϥϦ • ಡΈࠐΈઌ͸ωοτϫʔΫɺσʔλϕʔεɺ·ͨ͸ͦͷ྆ํ

Slide 18

Slide 18 text

What’s new in Android Jetpack • WorkManager • Navigation • Paging • Slices • Android KTX

Slide 19

Slide 19 text

Slices • Googleݕࡧ(ࠓޙ͸GoogleΞγελϯτͳͲʹ΋)ʹΞϓϦͷί ϯςϯπΛදࣔ͢ΔͨΊͷUIςϯϓϨʔτ • Android 4.4(API 19)Ҏ߱Ͱ࢖͑Δ

Slide 20

Slide 20 text

Slicesͷྫ ը૾ : https://www.youtube.com/watch?v=a7IVH5aNwwc

Slide 21

Slide 21 text

What’s new in Android Jetpack • WorkManager • Navigation • Paging • Slices • Android KTX

Slide 22

Slide 22 text

Android-KTX • AndroidͷAPIΛKotlin͔Β࢖͍΍͘͢͢ΔͨΊͷKotlinͷ֦ுؔ ਺܈ • طʹόʔδϣϯ0.3.0͕ެ։͞Ε͍͕ͯͨɺ1.0.0-alpha1͕ެ։͞ Εͨ • Android FrameworkҎ֎ͷϥΠϒϥϦʹରԠ֦ͨ͠ுؔ਺͕ଟ ͘௥Ճ͞Ε͍ͯΔ

Slide 23

Slide 23 text

Android KTX 1.0.0-alpha1 ը૾ : https://www.youtube.com/watch?v=st1XVfkDWqk

Slide 24

Slide 24 text

Android KTXͷྫ

Slide 25

Slide 25 text

BTW : Kotlinʹ͍ͭͯ • KotlinΛ࢖ͬͨPlayStore্ͷΞϓϦ͸ࡢ೥ൺͰ6ഒʹ • σΟϕϩούʔͷ35ˋ͕KotlinΛ࢖͓ͬͯΓɺຖ݄૿Ճ͍ͯ͠Δ • Android DevelopersͷυΩϡϝϯτ΋KotlinରԠ൛͕ఏڙ͞ΕΔ Α͏ʹͳͬͨ

Slide 26

Slide 26 text

googlesamples/android-sunflower Android JetpackΛ;ΜͩΜʹ࢖ͬͨαϯϓϧΞϓϦ

Slide 27

Slide 27 text

• Modern Android development : Android Jetpack, Kotlin, and more • https://www.youtube.com/watch?v=IrMw7MEgADk • Android Jetpack: how to smartly use Fragments in your UI • https://www.youtube.com/watch?v=WVPH48lUzGY • Android Jetpack: what's new in Architecture Components • https://www.youtube.com/watch?v=pErTyQpA390 • Android Jetpack: what's new in Android Support Library • https://www.youtube.com/watch?v=jdKUm8tGogw • Android Jetpack: easy background processing with Work Manager • https://www.youtube.com/watch?v=IrKoBFLwTN0 • Android Jetpack : managing UI navigation with Navigation Controller • https://www.youtube.com/watch?v=8GCXtCjtg40 • Android Jetpack: sweetening Kotlin development with Android KTX • https://www.youtube.com/watch?v=st1XVfkDWqk • Android Jetpack : managing infinite lists with RecyclerView & Paging • https://www.youtube.com/watch?v=BE5bsyGGLf4

Slide 28

Slide 28 text

AndroidX

Slide 29

Slide 29 text

AndroidX • ৽͍͠AndroidͷόʔδϣϯͰ͸͋Γ·ͤΜ :-) • Support LibraryͳͲͷύοέʔδΛϦϑΝΫλϦϯάͨ͠΋ͷ • OSʹόϯυϧ͞Εͳ͍Androidͷ֦ுϥΠϒϥϦ • Jetpackʹ͸AndroidXʹؚ·ΕΔ΋ͷ΋͋Δ͠ɺؚ·Εͳ͍΋ͷ ΋͋Δ

Slide 30

Slide 30 text

AndroidX ͷϦϑΝΫλϦϯά • ύοέʔδΛϦϑΝΫλϦϯά • com.android.support.** → androidx.** • android.databinding.** → androidx.databinding.** • android.arch.** → androidx.arch.core.** • v4΍v7ͳͲͷදه͕ফ͑Δ • όʔδϣϯ͕28.0.0͔Β1.0.0ʹϦηοτ͞ΕΔ • ؅ཧ΋ݫີʹ (ϝδϟʔόʔδϣϯ͕ಉ͡ͳΒޓ׵ੑ͋Γ)

Slide 31

Slide 31 text

AndroidX΁ͷҠߦ • Android StudioʹϦϑΝΫλϦϯάπʔϧ͕ఏ ڙ͞ΕΔ • ࢖͍ͬͯΔϥΠϒϥϦͷJAR/AARΛม׵͢Δ Jetifierͱ͍͏πʔϧ΋ఏڙ͞ΕΔ ը૾ : https://android-developers.googleblog.com/2018/05/hello-world-androidx.html

Slide 32

Slide 32 text

One more thing

Slide 33

Slide 33 text

MotionLayout • ConstraintLayout 2.2 ͔Βಋೖ͞ΕΔConstraintLayoutͷαϒΫϥ ε • Viewͷঢ়ଶ(ConstraintSet)ؒΛΞχϝʔγϣϯΛ࢖ͬͯಈ͔͢͜ ͱ͕Ͱ͖Δ • What's new with ConstraintLayout and Android Studio desing tools • https://www.youtube.com/watch?v=ytZteMo4ETk

Slide 34

Slide 34 text

Motion Editor ը૾ : https://www.youtube.com/watch?v=ytZteMo4ETk

Slide 35

Slide 35 text

Thank you!