Upgrade to Pro — share decks privately, control downloads, hide ads and more …

I/O Extended 2018 @Tokyo Android1

358791a9c91e7615ffe62c7c6e02e470?s=47 zaki50
May 19, 2018

I/O Extended 2018 @Tokyo Android1

358791a9c91e7615ffe62c7c6e02e470?s=128

zaki50

May 19, 2018
Tweet

Transcript

  1. I/O Extended 2018 Tokyo Android sessions part 1

  2. ηογϣϯ֓؍

  3. શ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
  4. ෼໺ผ • શൠ (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ηογϣϯ)
  5. ॏཁτϐοΫ 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
  6. 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.*) ؔ࿈ηογϣϯ
  7. None
  8. None
  9. None
  10. None
  11. WorkManager • όοΫάϥ΢ϯυॲཧͷͨΊ ͷϥΠϒϥϦ

  12. None
  13. None
  14. WorkManager - ۩ମྫ1

  15. None
  16. WorkManager - ۩ମྫ2

  17. None
  18. None
  19. None
  20. None
  21. None
  22. 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
  23. Navigation • FragmentΛ࢖ͬͨը໘ભҠ • Up/HomeΛ͍͍ײ͡ʹ • IDEͷάϥϑΟΧϧΤσΟλ • deep-linkʹΑΔ௚઀ભҠ

  24. None
  25. None
  26. 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
  27. Paging • Ϧετͷཁૉͷϖʔδϯά • Roomͱͷ૊Έ߹ΘͤͰҖྗ

  28. None
  29. None
  30. None
  31. None
  32. Advanced topics • ϖʔδαΠζͷৄࡉͳΧελϚΠζ • Placeholders • Network͔ΒͷσʔλϑΣον • DatabaseͱNetworkͷ૊Έ߹Θͤར༻

    • RxJavaͱͷ૊Έ߹Θͤํ See Android Jetpack: manage infinite lists with RecyclerView and Paging https://www.youtube.com/watch?v=BE5bsyGGLf4
  33. Slices • ͭΑ͍RemoteView • ଞͷΞϓϦʹࣗ෼ͷUIΛදࣔ • API 19Ҏ߱Ͱ࢖͑Δ

  34. None
  35. ಛ௃ • Templateϕʔε: ॊೈͳߏ੒ • ΠϯλϥΫςΟϒ: ͞·͟·ͳίϯϙʔωϯτΛఏڙ • Updatable: දࣔ͞ΕΔ৔ॴ͸ϓϥοτϑΥʔϜͷߋ৽ʹґଘͤͣʹ௥ՃՄೳ

    • ޙํޓ׵ੑ: API 19(KitKat)Ҏ߱(95ˋͷ୺຤)Ͱಈ࡞͢Δ
  36. None
  37. None
  38. None
  39. None
  40. None
  41. None
  42. None
  43. None
  44. Advanced topics • ΞΫηεݖ • දࣔαΠζͷόϦΤΠγϣϯ(ShortCut, Small, Large) • σόοά(SliceViewer)

    See Android Slices: build interactive results for Google Search https://www.youtube.com/watch?v=a7IVH5aNwwc
  45. Android-ktx • AndroidͷAPIΛKotlin͔Β࢖͍ ΍͘͢

  46. None
  47. None
  48. None
  49. None
  50. 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
  51. None
  52. None
  53. None
  54. None
  55. ΋ͬͱৄ͘͠ • 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
  56. Fireside chat • Androidͷதͷਓ΁ͷ࣭໰λΠϜ

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

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

  60. AndroidͷAPIΛઃܭ͠௚ͤΔͱͨ͠ΒԿΛ௚͍ͨ͠Ͱ͔͢ʁ • (Chet) APIઃܭͰޙչ͠ͳ͔ͬͨ͜ͱͳΜͯແ͍Αɻ • (Dianne) ϒϩʔυΩϟετΛAndroidManifest͔Βड৴Ͱ͖ΔΑ͏ʹͨ͜͠ͱ͸ ຊ౰ʹؒҧͬͨ൑அͩͱࢥ͍ͬͯΔɻ • (Aurash)

    App BundleͷܗࣜΛ΋ͬͱ͸΍͘ಋೖ͓͖͔ͯͨͬͨ͠Ͷɻ
  61. Navigation͸Single Activity appΛਪ঑͢Δͱ͍͏͜ͱͳͷ͔ • ಛʹͦ͏͍͏ҙਤ͸ͳ͍Ͱ͢

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

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

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

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

  66. Androidؔ࿈ηογϣϯҰཡ

  67. શ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
  68. 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
  69. Android Runtime • What's new in Android Runtime • Understanding

    Android memory usage • Drawn out: how Android renders • Best practices for text on Android
  70. 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
  71. 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
  72. 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
  73. Test • Frictionless Android testing: write once, run everywhere •

    Autonomous and customized pre-launch testing in the Google Play Console
  74. 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
  75. Media • Building feature-rich media apps with ExoPlayer • Sound

    Amplifier and the new Dynamics Processing Effect • Build a universal camera app
  76. Location • How to get one-meter location-accuracy from Android devices

  77. 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
  78. Android TV • What’s new with Android TV

  79. Wear OS by Google • What's new in Wear OS

    by Google
  80. AR/VR • Building AR apps with the Sceneform SDK

  81. Android Auto • What’s new in automotive

  82. Accessibility • What’s new in Android accessibility

  83. Chrome OS • What’s new in Android apps for Chrome

    OS
  84. Flutter • Build reactive mobile apps with Flutter

  85. Assistant • Getting started with App Actions • Integrating your

    Android apps with the Google Assistant
  86. 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
  87. Language • How to Kotlin - from the Lead Kotlin

    Language Designer • Build for Android (Go edition): optimize your app for global markets