what's new in android at i/o'16

53
What’s New in Android Google I/O 2016 Elif Boncuk Software Specialist

Upload: elif-boncuk

Post on 16-Apr-2017

514 views

Category:

Mobile


0 download

TRANSCRIPT

Page 1: What's new in Android at I/O'16

What’s New in Android

Google I/O 2016

Elif BoncukSoftware Specialist

Page 2: What's new in Android at I/O'16

#gdgistanbul

Android Studio 2.2 Preview

Speed

Smarts

Android platform support

Page 3: What's new in Android at I/O'16

#gdgistanbul

Android Studio 2.2 PreviewDesign

Layout EditorConstraint LayoutLayout Inspector

BuildJack Compiler ImprovementsMerged Manifest Viewer

DevelopFirebase PluginEnhanced Code AnalysisSamples BrowserImproved C++ SupportIntelliJ 2016.1

TestEspresso Test RecorderAPK Analyzer

Page 4: What's new in Android at I/O'16

#gdgistanbul

ConstraintLayoutUnbundled Layout

Small - 100 kb

Compatible since Gingerbread(2.3) (%99.9 percent of devices)

First Layout in conjunction with tool (Android Studio)

Page 5: What's new in Android at I/O'16

#gdgistanbul

ConstraintLayout - Why not Relative Layout?ConstraintLayout is a superset

More expressive

Less nesting

Extensible

Page 6: What's new in Android at I/O'16

#gdgistanbul

ConstraintLayout - UI Builder2 way editing(UI/XML)

Direct Integration in Studio

Immediate feedback

In Active Development

Material Design Guideline

Autoconnect

Clear all constraints

Infer constraints

Faster UI Design

Page 7: What's new in Android at I/O'16

#gdgistanbul

ConstraintLayout - Demo

Page 8: What's new in Android at I/O'16

#gdgistanbul

Code Samples Browser

Page 9: What's new in Android at I/O'16

#gdgistanbul

CMake and NDK Build

Page 10: What's new in Android at I/O'16

#gdgistanbul

Improved Jack Tools

Page 11: What's new in Android at I/O'16

#gdgistanbul

Jack Compiler

Page 12: What's new in Android at I/O'16

#gdgistanbul

Merged Manifest Viewer

Page 13: What's new in Android at I/O'16

#gdgistanbul

Espresso Test Recorder

Page 14: What's new in Android at I/O'16

#gdgistanbul

Page 15: What's new in Android at I/O'16

#gdgistanbul

Apk Analyzer

Page 16: What's new in Android at I/O'16

#gdgistanbul

Auto Debugger Selection

Page 17: What's new in Android at I/O'16

#gdgistanbul

Page 18: What's new in Android at I/O'16

#gdgistanbul

Multi Window - Split Screen Drag from recents

Magic of Android Layout

Optimized Automatically

Page 19: What's new in Android at I/O'16

#gdgistanbul

Multi Window - Split Screen

Layout Attributes:android:defaultWidth

android:defaultHeight

android:gravity

android:minimalHeight

android:minimalWidth

Multi-window change notification and querying:Activity.isInMultiWindowMode()

Activity.onMultiWindowModeChanged()

Page 20: What's new in Android at I/O'16

#gdgistanbul

Multi Window - Picture-in-Picture

Multi-window change notification and querying:Activity.isInPictureInPictureMode()

Activity.onPictureInPictureModeChanged()

Activity.enterPictureInPictureMode()

Page 21: What's new in Android at I/O'16

#gdgistanbul

Drag and Dropandroid.view.DropPermissions

View.startDragAndDrop()

View.DRAG_FLAG_GLOBAL

View.DRAG_FLAG_GLOBAL_URI_READ

View.DRAG_FLAG_GLOBAL_URI_WRITE

View.cancelDragAndDrop()

View.updateDragShadow()

Activity.requestDropPermissions()

Now between activities!

Page 22: What's new in Android at I/O'16

#gdgistanbul

RuntimeFaster interpreter

JITFaster install times

Less space consume on device

Apps use partial AOT (ahead-of-time)Only for hotspots

Page 23: What's new in Android at I/O'16

#gdgistanbul

New Runtime LibrariesICU4J

Unicode and globalization support

Subset exposed in android.icu

Avoids conflicts with com.ibm.icu

Deprecated and unstable APIs omitted

Functional Interface

java.util.function

java.util.stream

Page 24: What's new in Android at I/O'16

#gdgistanbul

Java 8 Language Features

Default and static interface methods

Lambda expressions (also available on API level 23 and lower)

Repeatable annotations

Method References (also available on API level 23 and lower)

Page 25: What's new in Android at I/O'16

#gdgistanbul

LambdasImplemented using anonymous class

Backward compatible with Gingerbread

Dipnot: RXJAVA

Page 26: What's new in Android at I/O'16

#gdgistanbul

Default & Static Interface MethodsNo backward compatible

Page 27: What's new in Android at I/O'16

#gdgistanbul

Repeating AnnotationsNo backward compatible

Page 28: What's new in Android at I/O'16

#gdgistanbul

NotificationsNew templates

Bundled Notifications

Direct Reply

Page 29: What's new in Android at I/O'16

#gdgistanbul

Quick Settings

Users: Choose your favourite tiles!Reorder them, too

Top 5 become your even quicker-quick-settings

Page 30: What's new in Android at I/O'16

#gdgistanbul

Quick Settings

Developers: Create your own tiles!Key classes:

android.service.quicksettings.TileService

onTileAdded(), onTileRemoved(), onStartListening(), onStopListening(), onClick()

getQsTile() -> android.service.quicksettings.Tile

setState(), setLabel(), setIcon(), then, updateTile()

Page 31: What's new in Android at I/O'16

#gdgistanbul

Quick Settings

<service android:name=".feature.PocketQuickSettingsTileService" android:icon="@drawable/ic_bookmark" android:label="@string/unread_articles" android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> <intent-filter> <action android:name="android.service.quicksettings.action.QS_TILE" /> </intent-filter> </service>

Page 32: What's new in Android at I/O'16

#gdgistanbul

Display SizeDefault Font Size “Larges Display Size “Largest”

Page 33: What's new in Android at I/O'16

#gdgistanbul

Multi LocaleUsers can select Multiple Languages

And order them

Also added new languages

Page 34: What's new in Android at I/O'16

#gdgistanbul

Doze

MarshmallowScreen off, on battery, stationary,

Restricts network, services, defer jobs, syncs, alarms

Android NAll of the above, plus

Not stationary

Page 35: What's new in Android at I/O'16

#gdgistanbul

Project Svelte: Background Optimizations

ConnectivityManager.CONNECTIVITY_ACTION Camera.ACTION_NEW_VIDEOCamera.ACTION_NEW_PICTURE

JobSchedulerJobScheduler.Builder.addTriggerContentUri();

Puffffffff

Hello

Page 36: What's new in Android at I/O'16

#gdgistanbul

Data SaverBlocks

background data usage

Warn apps to use less data on foreground

Page 37: What's new in Android at I/O'16

#gdgistanbul

Data Saver

getSystemService(Context.CONNECTIVITY_SERVICE);

isActiveNetworkMetered()

getRestrictBackgroundStatus()

RESTRICT_BACKGROUND_STATUS_DISABLED

RESTRICT_BACKGROUND_STATUS_ENABLED

RESTRICT_BACKGROUND_STATUS_WHITELISTED

Page 38: What's new in Android at I/O'16

#gdgistanbul

Direct BootImproves startup time

Some app functionality after unexpected reboot

Page 39: What's new in Android at I/O'16

#gdgistanbul

Direct Boot

ACTION_USER_UNLOCKED

Page 40: What's new in Android at I/O'16

#gdgistanbul

Scoped Directory Access

Page 41: What's new in Android at I/O'16

#gdgistanbul

Android for WorkWork mode

Work challenge

Page 42: What's new in Android at I/O'16

#gdgistanbul

OpenGL ES 3.2 & Vulkan

GLES 3.1 + Android Extention Pack

Advanced blending equations

Tesselation shaders

Geometry shaders

ASTC (LDR)

Image atomics

Floating point framebuffers

3D Graphics API

Application control of memory allocation.

Asynchronous command generation.

No hidden work.

Multithreaded design, from the ground up.

Mobile-friendly features.

Offline shader compilation.

Optional validation.

http://android-developers.blogspot.com.tr/2016/04/optimize-develop-and-debug-with-vulkan.html

Page 43: What's new in Android at I/O'16

What’s new in Support LibraryHighlights

Page 44: What's new in Android at I/O'16

#gdgistanbul

FragmentsLifecycle improvements

Synchronous Commit via commitNow()

Alternative to commit/executePending

Preferred if not modifying back stack

24.0

Page 45: What's new in Android at I/O'16

#gdgistanbul

NotificationsNew visual style for conversations

NotificationCompat.MessagingStyle

Large format style for multi-party conversations

Compatible with Wear 2.0 devices (since API 18)

Page 46: What's new in Android at I/O'16

#gdgistanbul

Custom TabsMinimum SDK: 15

Alternative to Embedded WebView

Shares state with browser

Customize & receive callbacks

UI customization

Customize colors

Add actions to toolbar, bottom bar

Enter, exit transitions

Page 47: What's new in Android at I/O'16

#gdgistanbul

Vector DrawableIntroduced in Lolipop (API 21)

Used heavily inside Android OS

Improvements continue

Similar to SVG but simplier

Page 48: What's new in Android at I/O'16

#gdgistanbul

Generate Vector AssetsVector Asset Repository

SVG to VectorDrawable

Page 49: What's new in Android at I/O'16

#gdgistanbul

PNG generation by GradleNo Animated Vector Drawable

Limited Features of Vector Drawable

Generated PNG files sits inside APK

Page 50: What's new in Android at I/O'16

#gdgistanbul

Night mode

Page 51: What's new in Android at I/O'16

#gdgistanbul

Page 52: What's new in Android at I/O'16

#gdgistanbul

Referenceshttps://www.youtube.com/watch?v=B08iLAtS3AQ&list=PLWz5rJ2EKKc8jQTUYvIfqA9lMvSGQWtte

https://developer.android.com/preview/features/multi-window.html#running

https://developer.android.com/preview/features/notification-updates.html

https://developer.android.com/training/monitoring-device-state/doze-standby.html

https://developer.android.com/preview/behavior-changes.html

https://developer.android.com/reference/android/net/ConnectivityManager.html#CONNECTIVITY_ACTION

https://developer.android.com/preview/features/data-saver.html

https://developer.android.com/preview/features/direct-boot.html

https://developer.android.com/preview/j8-jack.html

https://www.youtube.com/watch?v=csaXml4xtN8&index=49&list=PLOU2XLYxmsILe6_eGvDN3GyiodoV3qNSC

http://android-developers.blogspot.com.tr/2016/05/android-studio-22-preview-new-ui.html

https://www.youtube.com/watch?v=w45y_w4skKs&index=15&list=PLOU2XLYxmsILe6_eGvDN3GyiodoV3qNSC

http://android-developers.blogspot.com.tr/2016/02/android-support-library-232.html

Page 53: What's new in Android at I/O'16

Questions?

Thank you!

@elifbon_www.elifboncuk.wordpress.com