Slide 1

Slide 1 text

I/O Extended 2018 Tokyo Android sessions part 1

Slide 2

Slide 2 text

ηογϣϯ֓؍

Slide 3

Slide 3 text

શ62ηογϣϯ(2000෼ڧ) ● What's new in Android ● Android fireside chat ● Modern Android development: Android Jetpack, Kotlin, and more ● Protips: a fresh look at advanced topics for Android experts ● What's new in Android security ● Migrate your existing app to target Android Oreo and above ● What's new in Android Runtime ● Understanding Android memory usage ● Drawn out: how Android renders ● Best practices for text on Android ● Android Jetpack: how to smartly use Fragments in your UI ● Android Jetpack: what's new in Architecture Components ● Android Jetpack: what’s new in Android Support Library ● Android Jetpack: easy background processing with WorkManager ● Android Jetpack: manage UI navigation with Navigation Controller ● Android Jetpack: sweetening Kotlin development with Android KTX ● Android Jetpack: manage infinite lists with RecyclerView and Paging ● Android Slices: build interactive results for Google Search ● What's new in Android development tools ● What's new with the Android build system ● Best practices using compilers in Android Studio ● Effective ProGuard keep rules for smaller applications ● What's new with ConstraintLayout and Android Studio design tools ● Android vitals: debug app performance and reap rewards ● Improve app performance and stability with Firebase ● Improve app performance with Android Studio Profilers ● Don't let your app drain your users' battery ● What’s new with Android TV ● Frictionless Android testing: write once, run everywhere ● Autonomous and customized pre-launch testing in the Google Play Console ● The future of apps on Android and Google Play: modular, instant, and dynamic ● Build the new, modular Android App Bundle ● Google Play Instant: how app developers are finding success ● Google Play Instant: how game developers are finding success ● What's new in Android Things ● Build real consumer devices with Android Things ● Build effective OEM-level apps on Android Things ● Electronic design for Android Things System on Modules ● Women Techmakers panel: experiences developing on Android Things ● Product design: how to build better products with Android Things ● Device provisioning and authentication with Android Things ● Update production devices in the field with the Android Things Console ● What's new in Wear OS by Google ● Building AR apps with the Sceneform SDK ● What’s new in automotive ● What’s new in Android accessibility ● What’s new in Android apps for Chrome OS ● Building feature-rich media apps with ExoPlayer ● Sound Amplifier and the new Dynamics Processing Effect ● Build a universal camera app ● How to get one-meter location-accuracy from Android devices ● Google Pay best practices for great payment experiences ● Build reactive mobile apps with Flutter ● Getting started with App Actions ● Integrating your Android apps with the Google Assistant ● Build with Google Pay ● Grow and optimize your subscriptions with new Google Play features ● New and advanced Google Play tools for game developers ● Analyze your audience and benchmark metrics to grow on Google Play ● Release management: successful launches and updates on Google Play ● How to Kotlin - from the Lead Kotlin Language Designer ● Build for Android (Go edition): optimize your app for global markets ● Integrating your Android apps with the Google Assistant ● Build with Google Pay ● Grow and optimize your subscriptions with new Google Play features ● New and advanced Google Play tools for game developers ● Analyze your audience and benchmark metrics to grow on Google Play ● Release management: successful launches and updates on Google Play ● How to Kotlin - from the Lead Kotlin Language Designer ● Build for Android (Go edition): optimize your app for global markets https://www.youtube.com/playlist?list=PLWz5rJ2EKKc9Gq6FEnSXClhYkWAStbwlC

Slide 4

Slide 4 text

෼໺ผ ● શൠ (6ηογϣϯ) ● Android Runtime (4ηογϣϯ) ● Jetpack (8ηογϣϯ) ● Development Tools (5ηογϣϯ) ● Debug/Profile (4ηογϣϯ) ● Test (2ηογϣϯ) ● App Bundle/Module (4ηογϣϯ) ● Medis (3ηογϣϯ) ● Android Things (8ηογϣϯ) ● Google Play (6ηογϣϯ) ● Language (2ηογϣϯ) ● Assistant (2ηογϣϯ) ● Location, TV, Wear OS, AR/VR, Auto, Accessibility, Chrome OS,Flutter (֤1ηογϣϯ)

Slide 5

Slide 5 text

ॏཁτϐοΫ from Top 5 Android Announcements at Google I/O ● Jetpack ● App Bundle ● Kotlin ● Slice ● Actions https://www.youtube.com/watch?v=Hzv5-R9XLTc ● Jetpack ● App Bundle ● Kotlin ● Slice ● Actions

Slide 6

Slide 6 text

Jetpack ● Android Jetpack: how to smartly use Fragments in your UI ● Android Jetpack: what's new in Architecture Components ● Android Jetpack: what’s new in Android Support Library ● Android Jetpack: easy background processing with WorkManager ● Android Jetpack: manage UI navigation with Navigation Controller ● Android Jetpack: sweetening Kotlin development with Android KTX ● Android Jetpack: manage infinite lists with RecyclerView and Paging ● Android Slices: build interactive results for Google Search ● Modern Android development: Android Jetpack, Kotlin, and more ● αϙʔτϥΠϒϥϦ ● ৽ίϯϙʔωϯτͷ௥Ճ ● ϦϑΝΫλϦϯά (android.support.v4.* → androidx.*) ؔ࿈ηογϣϯ

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

WorkManager ● όοΫάϥ΢ϯυॲཧͷͨΊ ͷϥΠϒϥϦ

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

WorkManager - ۩ମྫ1

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

WorkManager - ۩ମྫ2

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Advanced topic ● Workͷঢ়ଶ؂ࢹ(ͨͱ͑͹ϓϩάϨεόʔΛग़͍ͨ͠) ● ฒྻ࣮ߦ ● Outputͷ౷߹ํ๏ͷΧελϚΠζ(InputMarger) ● TagʹΑΔWorkͷ෼ྨ ● Workͷߋ৽ ● ܁Γฦ͠ॲཧ ● Unit testing See Android Jetpack: easy background processing with WorkManager https://www.youtube.com/watch?v=IrKoBFLwTN0

Slide 23

Slide 23 text

Navigation ● FragmentΛ࢖ͬͨը໘ભҠ ● Up/HomeΛ͍͍ײ͡ʹ ● IDEͷάϥϑΟΧϧΤσΟλ ● deep-linkʹΑΔ௚઀ભҠ

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Advanced topics ● ଞͷActivity΁ͷભҠ ● TypeSafe arguments ● Deep-linkʹΑΔࢦఆը໘΁ͷ௚઀ભҠ(PendingIntent, URL) ● Testing See Android Jetpack: manage UI navigation with Navigation Controller https://www.youtube.com/watch?v=8GCXtCjtg40

Slide 27

Slide 27 text

Paging ● Ϧετͷཁૉͷϖʔδϯά ● Roomͱͷ૊Έ߹ΘͤͰҖྗ

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Advanced topics ● ϖʔδαΠζͷৄࡉͳΧελϚΠζ ● Placeholders ● Network͔ΒͷσʔλϑΣον ● DatabaseͱNetworkͷ૊Έ߹Θͤར༻ ● RxJavaͱͷ૊Έ߹Θͤํ See Android Jetpack: manage infinite lists with RecyclerView and Paging https://www.youtube.com/watch?v=BE5bsyGGLf4

Slide 33

Slide 33 text

Slices ● ͭΑ͍RemoteView ● ଞͷΞϓϦʹࣗ෼ͷUIΛදࣔ ● API 19Ҏ߱Ͱ࢖͑Δ

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

ಛ௃ ● Templateϕʔε: ॊೈͳߏ੒ ● ΠϯλϥΫςΟϒ: ͞·͟·ͳίϯϙʔωϯτΛఏڙ ● Updatable: දࣔ͞ΕΔ৔ॴ͸ϓϥοτϑΥʔϜͷߋ৽ʹґଘͤͣʹ௥ՃՄೳ ● ޙํޓ׵ੑ: API 19(KitKat)Ҏ߱(95ˋͷ୺຤)Ͱಈ࡞͢Δ

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

Advanced topics ● ΞΫηεݖ ● දࣔαΠζͷόϦΤΠγϣϯ(ShortCut, Small, Large) ● σόοά(SliceViewer) See Android Slices: build interactive results for Google Search https://www.youtube.com/watch?v=a7IVH5aNwwc

Slide 45

Slide 45 text

Android-ktx ● AndroidͷAPIΛKotlin͔Β࢖͍ ΍͘͢

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

App Bundle ● ΞϓϦͷ৽ϑΥʔϚοτ(.aab) ● Play Store͕࠷దͳapkΛੜ੒ ● αΠζ࡟ݮ ● Dynamic moduleػೳͰ΋ඞཁ ؔ࿈ηογϣϯ ● Build the new, modular Android App Bundle ● What's new with the Android build system ● The future of apps on Android and Google Play: modular, instant, and dynamic ● Google Play Instant: how app developers are finding success ● Google Play Instant: how game developers are finding success

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

No content

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

΋ͬͱৄ͘͠ ● LΑΓલͱLҎ߱ͷσόΠεͷҧ͍ ● Dynamic Module ● Bundle Explorer See Build the new, modular Android App Bundle https://www.youtube.com/watch?v=bViNOUeFuiQ What's new with the Android build system https://www.youtube.com/watch?v=N5xONyp69eU

Slide 56

Slide 56 text

Fireside chat ● Androidͷதͷਓ΁ͷ࣭໰λΠϜ

Slide 57

Slide 57 text

ొஃऀ ● Chet Haase (Android Toolkit team) ● Dave Burke (͍͍ͩͨͳΜͰ΋) ● Stephanie Cuthbertson (Developer Experience) ● Romain Guy (Graphics and Kotlin) ● Aurash Mahbod (Google Play and Instant apps) ● Dianne Hackborn (Framework team manager) ● Xavier Ducrohet (Tools team)

Slide 58

Slide 58 text

Architecture Components͕σϑΝΫτͳઃܭͱͳΔͷ͔ ● (Romain) Yes. جຊతʹ͸΍Γ͍ͨΑ͏ʹ΍Ε͹͍͍͚Ͳɺզʑ͕ݱ࣌఺Ͱྑ͍ ͱࢥ͏ํ๏Λදݱ͍ͯ͠ΔɻπʔϧɺϥΠϒϥϦɺυΩϡϝϯτɺτʔΫಈը Ͱαϙʔτ͍ͯ͘͠ɻ

Slide 59

Slide 59 text

Dianne͸ACʹ͍ͭͯAndroidͷ͋Δ΂͖͔࢟Βͷҳ୤ͱߟ͍͑ͯΔ͔ʁ ● (Dianne)Core platform͸ґવͱͯͦ͠ͷ্ͷ΋ͷʹ͍ͭͯ͸Կ΋نఆ͠ͳ͍ ͠ɺࠓޙ΋൚༻తͳ΋ͷͰ͋Γଓ͚͍ͨͱࢥ͍ͬͯΔɻAC͸ͦͷ্ʹߏங͞Ε ͨϨΠϠʔͰαϙʔτϥΠϒϥϦͰ͢ɻΞϓϦͱͱ΋ʹૉૣ͘มԽ͍ͯ͘͜͠ ͱ͕Ͱ͖ɺطଘͷΞϓϦΛյ͢͜ͱ΋͋Γ·ͤΜɻAC͸ɺݱ࣌఺ͰΞϓϦ͸͜ ͏͋Δ΂͖ͱ͍͏զʑͷߟ͑Λදݱ͢Δ΋ͷͰ͢ɻ

Slide 60

Slide 60 text

AndroidͷAPIΛઃܭ͠௚ͤΔͱͨ͠ΒԿΛ௚͍ͨ͠Ͱ͔͢ʁ ● (Chet) APIઃܭͰޙչ͠ͳ͔ͬͨ͜ͱͳΜͯແ͍Αɻ ● (Dianne) ϒϩʔυΩϟετΛAndroidManifest͔Βड৴Ͱ͖ΔΑ͏ʹͨ͜͠ͱ͸ ຊ౰ʹؒҧͬͨ൑அͩͱࢥ͍ͬͯΔɻ ● (Aurash) App BundleͷܗࣜΛ΋ͬͱ͸΍͘ಋೖ͓͖͔ͯͨͬͨ͠Ͷɻ

Slide 61

Slide 61 text

Navigation͸Single Activity appΛਪ঑͢Δͱ͍͏͜ͱͳͷ͔ ● ಛʹͦ͏͍͏ҙਤ͸ͳ͍Ͱ͢

Slide 62

Slide 62 text

P͸ͳͥ࣌ܭ͕ࠨͳͷ͔ ● (Dave) DisplayCutoutͷαϙʔτΛ͢Δͱ͖ʹɺӈଆʹ͋Δ΋ͷΛݮΒ͞ͳ͍ͱ ͍͚ͳ͔ͬͨɻ࠷ॳݟͨͱ͖͸Կ͕ىͬͨ͜Μͩͱࢥ͚ͬͨͲɺҰिؒ΋ͨ͠ Β׳ΕͨΑɻ

Slide 63

Slide 63 text

λϒϨοτͷ࿩ͳ͔͚ͬͨͲChromeOSʹ౷߹͍ͯ͘͠ͷʁ ● (Dave) ͍΍ɺλϒϨοτ͸λϒϨοτͰ΍͍ͬͯ͘Α

Slide 64

Slide 64 text

Googleͷαʔόʔʹ઀ଓͰ͖ͳ͍தࠃͷαϙʔτʹ͍ͭͯ ● Ή͔͍ͣ͠Ͷʂ

Slide 65

Slide 65 text

Oracleͷૌু͸AndroidʹͲ͏͍͏Өڹ͕͋Γ·͔͢ʁ ● (Dave) ͓ͬͱɺ͕࣌ؒདྷͨΑ͏ͩɻɻ ● (Stephanie) զʑ͸Α͍΋ͷΛ࡞͍ͬͯ͘͜ͱʹ஫ྗ͢Δ͚ͩͰ͢ɻ

Slide 66

Slide 66 text

Androidؔ࿈ηογϣϯҰཡ

Slide 67

Slide 67 text

શ62ηογϣϯ(2000෼ڧ) ● What's new in Android ● Android fireside chat ● Modern Android development: Android Jetpack, Kotlin, and more ● Protips: a fresh look at advanced topics for Android experts ● What's new in Android security ● Migrate your existing app to target Android Oreo and above ● What's new in Android Runtime ● Understanding Android memory usage ● Drawn out: how Android renders ● Best practices for text on Android ● Android Jetpack: how to smartly use Fragments in your UI ● Android Jetpack: what's new in Architecture Components ● Android Jetpack: what’s new in Android Support Library ● Android Jetpack: easy background processing with WorkManager ● Android Jetpack: manage UI navigation with Navigation Controller ● Android Jetpack: sweetening Kotlin development with Android KTX ● Android Jetpack: manage infinite lists with RecyclerView and Paging ● Android Slices: build interactive results for Google Search ● What's new in Android development tools ● What's new with the Android build system ● Best practices using compilers in Android Studio ● Effective ProGuard keep rules for smaller applications ● What's new with ConstraintLayout and Android Studio design tools ● Android vitals: debug app performance and reap rewards ● Improve app performance and stability with Firebase ● Improve app performance with Android Studio Profilers ● Don't let your app drain your users' battery ● What’s new with Android TV ● Frictionless Android testing: write once, run everywhere ● Autonomous and customized pre-launch testing in the Google Play Console ● The future of apps on Android and Google Play: modular, instant, and dynamic ● Build the new, modular Android App Bundle ● Google Play Instant: how app developers are finding success ● Google Play Instant: how game developers are finding success ● What's new in Android Things ● Build real consumer devices with Android Things ● Build effective OEM-level apps on Android Things ● Electronic design for Android Things System on Modules ● Women Techmakers panel: experiences developing on Android Things ● Product design: how to build better products with Android Things ● Device provisioning and authentication with Android Things ● Update production devices in the field with the Android Things Console ● What's new in Wear OS by Google ● Building AR apps with the Sceneform SDK ● What’s new in automotive ● What’s new in Android accessibility ● What’s new in Android apps for Chrome OS ● Building feature-rich media apps with ExoPlayer ● Sound Amplifier and the new Dynamics Processing Effect ● Build a universal camera app ● How to get one-meter location-accuracy from Android devices ● Google Pay best practices for great payment experiences ● Build reactive mobile apps with Flutter ● Getting started with App Actions ● Integrating your Android apps with the Google Assistant ● Build with Google Pay ● Grow and optimize your subscriptions with new Google Play features ● New and advanced Google Play tools for game developers ● Analyze your audience and benchmark metrics to grow on Google Play ● Release management: successful launches and updates on Google Play ● How to Kotlin - from the Lead Kotlin Language Designer ● Build for Android (Go edition): optimize your app for global markets ● Integrating your Android apps with the Google Assistant ● Build with Google Pay ● Grow and optimize your subscriptions with new Google Play features ● New and advanced Google Play tools for game developers ● Analyze your audience and benchmark metrics to grow on Google Play ● Release management: successful launches and updates on Google Play ● How to Kotlin - from the Lead Kotlin Language Designer ● Build for Android (Go edition): optimize your app for global markets

Slide 68

Slide 68 text

General ● What's new in Android ● Android fireside chat ● Modern Android development: Android Jetpack, Kotlin, and more ● Protips: a fresh look at advanced topics for Android experts ● What's new in Android security ● Migrate your existing app to target Android Oreo and above

Slide 69

Slide 69 text

Android Runtime ● What's new in Android Runtime ● Understanding Android memory usage ● Drawn out: how Android renders ● Best practices for text on Android

Slide 70

Slide 70 text

Jetpack ● Android Jetpack: how to smartly use Fragments in your UI ● Android Jetpack: what's new in Architecture Components ● Android Jetpack: what’s new in Android Support Library ● Android Jetpack: easy background processing with WorkManager ● Android Jetpack: manage UI navigation with Navigation Controller ● Android Jetpack: sweetening Kotlin development with Android KTX ● Android Jetpack: manage infinite lists with RecyclerView and Paging ● Android Slices: build interactive results for Google Search

Slide 71

Slide 71 text

Development Tools ● What's new in Android development tools ● What's new with the Android build system ● Best practices using compilers in Android Studio ● Effective ProGuard keep rules for smaller applications ● What's new with ConstraintLayout and Android Studio design tools

Slide 72

Slide 72 text

Debug/Profiling ● Android vitals: debug app performance and reap rewards ● Improve app performance and stability with Firebase ● Improve app performance with Android Studio Profilers ● Don't let your app drain your users' battery

Slide 73

Slide 73 text

Test ● Frictionless Android testing: write once, run everywhere ● Autonomous and customized pre-launch testing in the Google Play Console

Slide 74

Slide 74 text

App Bundle/Module ● The future of apps on Android and Google Play: modular, instant, and dynamic ● Build the new, modular Android App Bundle ● Google Play Instant: how app developers are finding success ● Google Play Instant: how game developers are finding success

Slide 75

Slide 75 text

Media ● Building feature-rich media apps with ExoPlayer ● Sound Amplifier and the new Dynamics Processing Effect ● Build a universal camera app

Slide 76

Slide 76 text

Location ● How to get one-meter location-accuracy from Android devices

Slide 77

Slide 77 text

Android Things ● What's new in Android Things ● Build real consumer devices with Android Things ● Build effective OEM-level apps on Android Things ● Electronic design for Android Things System on Modules ● Women Techmakers panel: experiences developing on Android Things ● Product design: how to build better products with Android Things ● Device provisioning and authentication with Android Things ● Update production devices in the field with the Android Things Console

Slide 78

Slide 78 text

Android TV ● What’s new with Android TV

Slide 79

Slide 79 text

Wear OS by Google ● What's new in Wear OS by Google

Slide 80

Slide 80 text

AR/VR ● Building AR apps with the Sceneform SDK

Slide 81

Slide 81 text

Android Auto ● What’s new in automotive

Slide 82

Slide 82 text

Accessibility ● What’s new in Android accessibility

Slide 83

Slide 83 text

Chrome OS ● What’s new in Android apps for Chrome OS

Slide 84

Slide 84 text

Flutter ● Build reactive mobile apps with Flutter

Slide 85

Slide 85 text

Assistant ● Getting started with App Actions ● Integrating your Android apps with the Google Assistant

Slide 86

Slide 86 text

Google Play ● Build with Google Pay ● Grow and optimize your subscriptions with new Google Play features ● New and advanced Google Play tools for game developers ● Analyze your audience and benchmark metrics to grow on Google Play ● Release management: successful launches and updates on Google Play ● Google Pay best practices for great payment experiences

Slide 87

Slide 87 text

Language ● How to Kotlin - from the Lead Kotlin Language Designer ● Build for Android (Go edition): optimize your app for global markets