Presentation on theme: "Android Lollipop Android 5.0 to the world on 12 November 2014"— Presentation transcript:
1Android Lollipop Android 5.0 to the world on 12 November 2014 Significant update for the Android platformThis is after versionUpdates such as ART and on-screen notifications will make an immediate impact.Redesigned GUI built around a design language referred to as "material design".
2Android Lollipop Battery Notifications Multitasking Runtime and ART Android TVGraphicsAndroid Extension PackChrome ViewMedia Browsing Media Playback ControlNew SensorsManaged ProvisioningDevice OwnerScreen PinningScreen SharingCameraBluetooth Low EnergyNFCMultiple Network ConnectionsPrinting FrameworkInput Method Editors
3Battery Features (battery): Improving battery life. JobScheduler API allows you to run jobs asynchronously at a later time or under particular conditions. JobInfo objects can be used to define the conditions a scheduled job will run under.Developer ToolsA new ADB command dumpsys batterystats generate statistical data about battery usage on a device.$adb shell dumpsys batterystats --charged <package-name>
4Features (Notifications): Can be displayed on the lock screen.Developers can specify the amount of information displayed within a notification (using setVisibility), which accepts the following values:VISIBILITY_PRIVATE: shows basic information, such as the notification's icon, but hides the notification's contentVISIBILITY_PUBLIC: shows the notification's contentVISIBILITY_SECRET: shows nothing, excluding even the notification's iconMetadata can now be added to notifications to allow for categories and priority, and to collect additional contacts.Key notifications, such as incoming calls, will appear in a heads-up notification window, which will float at the top of the current app until the user acknowledges or dismisses the notification.
5Features (Multitasking): New APIs that improve multitasking options on Android, where you can now have your activities treated as tasks and be shown in their own window.For example, a web browser app could be set so that each tab has its own window.If you have a website, you can add <meta name="theme-color" content="#3F51B5">to display the given color as the header for your websiteIf you have a website, you can add <meta name="theme-color" content="#3F51B5">to your header section to have overview display the given color as the header for your website.
6Runtime on Dalvik Features (Dalvik): Previous versions of Android have all used Dalvik as the process virtual machine. Applications are commonly written in Java, which is then compiled to bytecode. This is then translated to Dalvik bytecode and stored in .dex and .odex files, for Dalvik to then process. This is a very a basic explanation of what the runtime is doing and hopefully conveys its importance. Applications run on the process virtual machine so its performance determines the overall performance of the app and is a bottleneck.Dalvik uses JIT (Just In Time) compilation, meaning that it only runs the application at the moment it is needed.
7Features (Runtime and ART): vs Runtime and ARTART, on the other hand, uses an AOT (Ahead Of Time) compilation to compile the bytecode. When an application is installed, it's compiled by ART's dex2oat utility, which creates ELF executables instead of .odex files. From then on, the application is executed from the already compiled ELF executable.That's a lot of saved compiling at the expense of longer application install times and some extra disk space.With the addition of improved garbage collection (GC), ART outperforms Dalvik in nearly every way, making for a sharper and more fluid Android experience.
9Features (Android TV): To help bring your app to large screen displays, Lollipop introduces the Leanback UI and the Android TV Input Framework (TIF). The Leanback library provides user interface widgets for TV apps. TIF is designed to allow TV apps to handle video streams from sources such as HDMI inputs, TV tuners, and IPTV receivers.
10Graphics Features (Graphics): compute shaders separate shader objects Khronos OpenGL ES 3.1 has been added.Key features include:compute shadersseparate shader objectsshading language improvementsextensions for advanced blend modes and debuggingindirect draw commandsmultisample and stencil texturesAndroid 5.0 remains backwards compatible with OpenGL ES 2.0 and 3.0.
11Features (Android Extension Pack (AEP): To supplement OpenGL ES 3.1, a set of OpenGL ES extensions have been added that allow for the following:guaranteed fragment shader support for shader storage buffers, images, and atomics (this feature is optional in OpenGL ES 3.1)different blend modes for each color attachment in a frame buffertessellation and geometry shadersASTC (LDR) texture compression formatper-sample interpolation and shading
12Features (Chrome View): A new version of Chromium for Web View, based on the Chromium m37 release that adds support for WebAudio, WebRTC, and WebGL.Native support for Web Components is also included in the update and will allow for use of Polymer and its Material Design elements without requiring polyfills.Chromium is now updatable from the Play Store so new APIs and bug fixes will be available immediately and will no longer require an update of the Android operating system.
13Features (Media Browsing ): The new android.media.browse APIallows apps to browse the media content library of other apps. The MediaBrowserService class is used to expose media in an application, while the MediaBrowser class is used to interact with a media browser service can then be used to send commands to a MediaSession.
14Features (Media Playback Control): 2 new classes have been introduced to make playback control simpler to manage across different UIs and services.MediaSession replaces RemoteControlClient. It provides a set of callback methods for use in transport controls and media buttons. MediaController can be used to create a custom media controller app, which can then be used to send commands to a MediaSession.
15Features (New Sensors): Two new sensors have been introduced:Tilt Detector: improves activity recognitionHeart Rate Sensor: capable of reporting the heart rate of the user touching the deviceBoth of these sensors require supported hardware.
16Features (Managed Provisioning): Device administrators can use a managed provisioning service to add apps to a separate managed profile.If there's an existing personal account on a device that has been provisioned, the managed profile apps will appear alongside the existing applications.
17Features (Device Owner): A device owner is a specialized type of device administrator that can create and remove secondary users and configure global settings, essentially giving Android a traditional administrator and user account system.
18Features (Screen Pinning): Screen pinning is a new feature that is comparable to kiosk mode on iOS. Screen pinning includes the following features:The status bar is blank.Other apps cannot launch new activities.User notifications and status information are hidden.The current app can create new activities as long as no new tasks are created.Screen pinning can be activated manually via Settings > Security > Screen Pinning. It can also be activated programmatically. The startLockTask method can be called from your app to activate screen pinning. If the app is not from a device owner, a confirmation prompt will be shown. The setLockTaskPackages method can be called by an owner app and will avoid the confirmation prompt.To deactivate screen pinning, you need to call stopLockTask if it was initiated by a device owner app. If it was activated by a non-device owner, the user can exit screen pinning mode by holding both the back and recent buttons.
19Features (Continue): Screen Sharing Screen capturing is now possible through the new android.media.projection APIs.The create VirtualDisplay method allows the calling app to capture the screen into a surface object, which can then be sent across the network. The API can only capture non-secure content and does not include audio.
20Camera Features (Continue): RAW image capturing has finally arrived on Android, thanks to the newandroid.hardware.camera2 API
21Bluetooth Low Energy Features (Continue): Android devices can now act as Bluetooth LE peripherals. Apps can make use of this to make their presence known to nearby devices. With thenewandroid.bluetooth.le APIs,you can enable your apps to connect to nearby Bluetooth devices, broadcast advertisements, and scan for responses. These new features also come with a new manifest permission, BLUETOOTH_ADMIN.These APIs will be extremely useful when working with wearable devices, health and fitness apps, and monitoring apps. All of these are predicted growth areas for Android in the near future.
22NFC Features (NFC): NFC has been improved in the several ways: Android Beam has an option in the share menu.invokeBeam can be used to initiate the sharing of data (i.e. no longer have to physically bump devices).registerAidsForService and setPreferredService have been added to aid the development of paymentapps.
23Features (Multiple Network Connections): New APIs allow for apps to query networks for available features, such as whether the network is either:cellular,meteredWi-Fi
24Features (Printing FMW): Printing FrameworkBitmap images can now be rendered from PDF document pages, using the newPdfRendered class.
25Input Method Editors (IME) Features (IME):Input Method Editors (IME)Can now cycle through different IMEs available to the platform.This is accomplished by using the,shouldOffetToNextInputMethod method.
26Material DesignMaterial Design is a set of guidelines relating to visual design, content motion, and user interaction.The guidelines are intended to go beyond Android and are designed for a wide array of devices and platforms.Polymer is a notable example of the cross-platform nature of Material Design, with Google creating several Material Design web elements to aid in construction of websites/web apps with a Material Design theme.
27Lollipop introduced two new widgets: Material DesignNew WidgetsLollipop introduced two new widgets:CardView: This widget allows for information to be grouped together in a consistent manner. The card itself can have its depth altered to promote or highlight it as needed.RecyclerView: This is a more advanced version of the ListView widget.
28Material DesignNew Themes There are two new themes that make use of Material Design principles, Dark Material and Light Material.Both apply new user interface system widgets. System widgets are easy to customize and you can set their color palette. Several animations and transitions are also defaults of these themes, such as the ripple effect.
29Depth can now be altered on Android views through the new Z property. Material DesignDepth and ShadowDepth can now be altered on Android views through the new Z property.Higher Z values cast larger shadows around the view, giving the appearance of increased elevation.This is a staple of the Material Design ethos where the goal is to create a textile appearance through the use of layers.
30Material Design Animations Another staple of Material Design is animation.Touch feedback animations and a host of activity transitions all aid in creating a tactile and immersive experience.The goal is not to have information pop out or disappear.Every view/object should appear as a layer on a surface.When you look down at the desk, it’s not a flat view.The desk contains several layers, and objects have different depths and cast shadows on the layer beneath.If you need to see a page underneath another page, you must move the covering page out of the way.If you want to place your laptop on the desk, you need to slide the existing papers out of the way to make space. When you touch something on your desk, it moves, bends, vibrates, and shuffles.