Pro Yearly is on sale from $80 to $50! »

Google I/O Extended Tokyo 2017

Google I/O Extended Tokyo 2017

E519edb7ffc107220b60ba98ea66ef9e?s=128

Hiroshi Hashimoto

May 17, 2017
Tweet

Transcript

  1. Google I/O Extended Tokyo 2017 What's New in Android #io17extendedJp

  2. About us 副島 茂大 @DeNA Co., Ltd 愛澤 萌  @CyberAgent, Inc.

    藤田 琢磨 @FOLIO Co.,Ltd. 菅井 純  @Mercari, Inc. 橋本 泰  @Souzoh, Inc. powered by Shibuya.apk #io17extendedJp
  3. 質問などはこちらへ #io17extendedJp #io17extendedJp

  4. O Preview #io17extendedjp

  5. #io17extendedjp

  6. O Preview Notifications Picture-In-Picture Autofill Adaptive Icons and more... https://developer.android.com/preview/index.html

    #io17extendedjp
  7. Notifications #io17extendedjp

  8. • Channels • Timeout • Messaging Style ◦ addHistoricMessage •

    Colorized • Snoozing • Badges* • NotificationListener* ◦ onNotificationRemoved #io17extendedjp
  9. Channels #io17extendedjp • Importance • Sound • Lights • Vibration

    • Show on lockscreen • Override do not disturb Unified system to help users manage notifications
  10. Messaging Style - Historic Message #io17extendedjp Provide context to a

    conversation by adding historic messages to messaging related notifications
  11. Colorized notifications Set and enable a background color for a

    notification #io17extendedjp
  12. Snoozing #io17extendedjp Users can snooze notifications to reappear at a

    later time
  13. Notification Access #io17extendedjp

  14. Badges #io17extendedjp

  15. NotificationListenerService REASON_APP_CANCEL REASON_APP_CANCEL_ALL REASON_CHANNEL_BANNED REASON_DELEGATE_CANCEL REASON_DELEGATE_CANCEL_ALL REASON_DELEGATE_CLICK REASON_DELEGATE_ERROR REASON_GROUP_OPTIMIZATION REASON_GROUP_SUMMARY_CANCELED

    REASON_LISTENER_CANCEL REASON_LISTENER_CANCEL_ALL REASON_PACKAGE_BANNED REASON_PACKAGE_CHANGED REASON_PACKAGE_SUSPENDED REASON_PROFILE_TURNED_OFF REASON_SNOOZED REASON_TIMEOUT REASON_UNAUTOBUNDLED REASON_USER_STOPPED onNotificationRemoved(StatusBarNotification, NotificationListenerService.RankingMap, int) #io17extendedjp
  16. Picture-In-Picture #io17extendedjp

  17. Enable Pip #io17extendedjp

  18. Pip Mode <activity android:name="VideoActivity" ... android:supportsPictureInPicture="true" AndroidManifest #io17extendedjp

  19. Enter Pip Mode - API Level24 - void onPictureInPictureModeChanged(boolean isInPictureInPictureMode)

    boolean enterPictureInPictureMode (PictureInPictureArgs args) - onPictureInPictureModeChanged(boolean isInPictureInPictureMode) - Navigation In Pip #io17extendedjp
  20. PendingIntent and Broadcast Receiver final ArrayList<RemoteAction> actions = new ArrayList<>();

    inActivity.this,requestCode, new Intent(ACTION_MEDIA_CONTROL).putExtra(EXTRA_CONTROL_TYPE, controlType), 0); final Icon icon = Icon.createWithResource(MainActivity.this, iconId); actions.add(new RemoteAction(icon, title, title, intent)); actions.add(new RemoteAction(Icon.createWithResource(MainActivity.this, R.drawable.ic_info_24dp), ....... setPictureInPictureArgs(new PictureInPictureArgs().setActions(actions);); #io17extendedjp
  21. Autofill #io17extendedjp

  22. Autofill Framework Filling out forms is a time-consuming and error-prone

    task. Users can easily get frustrated with apps that require these type of tasks. The Autofill Framework improves the user experience by providing the following benefits: - Less time spent in filling fields Autofill saves users from re-typing information. - Minimize user input errors Typing is prone to errors, especially in mobile devices. Removing the necessity of typing information also removes the errors that come with it. #io17extendedjp
  23. #io17extendedjp

  24. Adaptive icons #io17extendedjp

  25. Adaptive icons #io17extendedjp

  26. Android Studio 2.4 preview #io17extendedjp

  27. Android Studio 2.4 preview & O New Feature - Autosizing

    TextViews - Working with Fonts - Background Executuion Limits - Background Service Limitations - Broadcast Limitations - Migration Guide - > Note: These limitations apply only to apps that target Android O. Apps that target API level 25 or lower are not affected. - #io17extendedjp
  28. Remove broadcast receivers #io17extendedjp

  29. App Shortcuts The com.android.launcher.action.INSTALL_SHORTCUT broadcast no longer has any effect

    on your app, because it is now a private, implicit broadcast. Instead, you should create an app shortcut by using the requestPinShortcut() method from the ShortcutManager class. com.android.launcher.action.INSTALL_SHORTCUT ブロードキャストは、プライベートで暗黙的なブロードキャ ストになったため、アプリに影響を与えることはなくなりました。 代わりに、ShortcutManager クラスの requestPinShortcut() メソッドを使ってアプリのショートカットを作成する 必要があります。 #io17extendedjp
  30. not maintained? #io17extendedjp

  31. Java 8 Support #io17extendedjp

  32. Use Java 8 language features #io17extendedjp

  33. Java8 Lang Support RetroLambda https://github.com/orfjackal/retrolambda Retropiler: AndroidでJava8の機能を使うもう一つの方法 http://qiita.com/gfx/items/63d1855e008974061b3f #io17extendedjp

  34. #io17extendedjp

  35. #io17extendedjp

  36. #io17extendedjp