• Android is get more and more market share.
• Android is still very hot.(40% topics are related to
Android ux Tools Performance Cloud services Media Location Others
Most of topics are related to android
• Wear and Google play service are very hot in
Wear Media Material design Google play Other
More and more features are implemented as google play service.
What is Android Wear
• Android wear is a device which running on the
version of Google's Android operating
system designed for smartwatches and
• Watch as primary targeted device from
• Buletooth teghered only device.
• High quality and low latencies void
recoginition and capture.
• Controlled by void and by touch screen
• Colored lcd based ui.
• Not always on. device. Daynamically
waked from gesture and touch.
• Always on sensors tracking.
• Google now cards displayed on the weareable device.
• Host smartphone notifications displayed on the wearable
• Support Google voice search to the host.
• Continious sensors tracking
• Context awarness
• Pairing with external sensors
• Pairing with extenral bluetooth headset
• Local music playback
Less than 10s interaction between user and
Bluetooth is used to communicate
Bluetooth 4.0: GATT and RFCOMM over ERD profiles
UI Overview(2/4)-Suggest: The
The context stream is a vertical list of cards.
showing a useful or timely piece of information from a
swipe vertically to navigate from card to card
are additional cards that can appear to the right of your
main card in the stream.
swiped horizontally to reveal additional pages.
appear to the right of your notification, allowing the user to
act on your notification
• Notification Stacks
Stacks may be used to collect multiple notifications from the same application into
a single stack of cards.
Each notification from phone appears as a new card in the context stream default
UI Overview(3/4)- Demand: The Cue
The cue card allows users to speak to their device.
The cue card is opened by saying, "Ok Google" or
by tapping on the "g" icon on the home screen.
Swiping up on the cue card shows a list of actions.
UI Overview(4/4)- Two Modes
• Ambient Mode:
The glanceable, low-power mode that devices will spend most
of their time in. For displays that are capable of always
displaying an image within their power budgets,this mode is
for displaying static and ambient information. Touch is enabled
and can be at a lower refresh rate. Voice input is disabled.
• Interactive Mode:
The device’s on state(e.g., the display is in maximum visibility
mode and animations can be displayed, etc.) Touch and Voice
input are enabled.
• Handle a wide variety of traditional TV inputs,
including HDMI, conventional TV tuners, and IPTV
• Chromecast support.
• Full access to Google Play’s existing media content
• Integrated with Google’s existing Play Games
• Will be coming to a variety of form factors,
including TVs, set-top boxes, and streaming
Android TV - Hardware requirement
• Aggressive CPU+GPU performance specs
• Minimum of 1G RAM & 8G Flash
• Wi-Fi and/or Ethernet for connectivity
• Bluetooth v4 w/BTLE
• Widevine Level 1& Playready DRM
• Targeting TVs, Media Streamers, Set Top Boxes
and Micro Consoles.
• Apps and Games
Android TV-Difference with Google TV
Item Google TV Android TV
OS Custom OS derived from Android Derived from Android 4.2 and runs a closed Google
services for TV layer in the background.
Google hold the keys to Google TV only
allowing certain vendors use it
Google has relaxed the restrictions on who can use
APP support App support is very limited and restricted to
Google TV apps.
Compatibility with full Android app ecosystem but
Google may still limit it to apps tagged as TV
Chromecast Not support Support
Auto UI - APP
Developers can customize the icon and functionality
Android apps and services is running in phone
Media App as example
Android Auto App works as a proxy in car
Architecture – Hardware in car
• Audio device in the car
• Display in the car
• USB/other connectivity device in the car
• Bluetooth device in the car
• Input devices(buttons and sticks, etc.) in the
• Sensor networks in the car
Architecture - Auto protocol(1/2)
• Android auto protocol is used to communicate the
phone with auto.
• It is a transport independence protocol
Architecture - Auto protocol(2/2)
Portable C++ library runs on Android/Linux/QNX.
Different channel is opened for different aspect of
car which phone needs to communicate with
• Input data
• sensor data
• Display data.
Protocol buffer is used to format data.
Mux all channels with priority
Architecture(2) – Modification in AOSP
• Account service
Glass does authentication using My Glass website. So
many task can be executed in server side.
• Location service
GPS information is piped through your companion
phone for better accuracy.
• Notification bridged from companion phone
• Head Gesture services:
Monitor your head when you are moving your head, so
that it can turn on/off the screen.
• Eye Gesture:
Monitor the movement of your eyes so that it can take
• Timeline Manager
API – Glass Development Kit
An add-on to the Android SDK that lets you build
Used to implement the features below
• Real-time User Interaction
• Offline Functionality
• Access to Hardware
API – Mirror API
RESTful API lets you easily call web-based APIs that
do much of the heavy lifting for you
Used to implement the features below
• Platform independence
API (REST API)
• Make user to have a single device for personal use
• Unified view of personal and work apps.
• Data isolation and security.
• No modification for existing apps needed
• App for ICS and above can be used.
UI for android work
• Unified view of notifications
• Unified view of recent
• A single launcher for personal use and work.
It seems most of work is implemented in Google play services
Update In L preview
• Material design
• Recents screen
• Task locking
• Power Efficiency
Material Design - New Widgets
A container for large sets of views that can be
recycled and scrolled more efficiently than ListView
Can be vertical and horizontal scrolling
There are baked-in animations for adding and
Shows information inside card
Supported in android.support.v7.widget
Material design - Shadows
• View Elevation
Z value is added for a view (Z = elevation +
A view with a lower elevation will have small, well-
Framework will cast a real time shadow for the view
according to elevation.
Material is used for all of Google such as phone/tablet/tv/chrome
Material design - Animations
• Touch feedback -- ripple animation
• Reveal effect – reveal animation
• Activity transitions
Shared elements transition(Multiple shared elements)
• Curved motion
Provides new APIs that enable you to define custom timing
curves and curved motion patterns for animations.
• View state changes
Animators that run when the state of a view changes.
Material design - Others
• Drawable Tinting
Enables you to define bitmaps or nine-patches as alpha
masks and to tint them using a color resource or a theme
attribute that resolves to a color resource
• A new theme
For Theme and layout, use dedicated directory such as
For Animation APIs, check the system version at
runtime before calling them.
• Ahead-of-Time (AOT) compilation
Less battery consumption.
More storage/More installation time.
• Improved garbage collection (GC)
One GC pause instead of two
Parallelized processing during the remaining GC pause
Collector with lower pause time for the special case of
cleaning up recently-allocated, short-lived objects
Improved garbage collection ergonomics, making
concurrent garbage collections more timely, which makes
GC_FOR_ALLOC events extremely rare in typical use cases
• Improved debugging support
• heads-up notification
Show the notification when app is running as full screen.
• Lockscreen notifications
VISIBILITY_PRIVATE/ VISIBILITY_PUBLIC/ VISIBILITY_SECRET
Notification will be displayed in Lock scrren according to its prioerty.
• Notifications metadata
Metadata is used to sort the notifications more intelligently.
• Notifications to support android wear and auto
Can specify the notification only is displayed in wear or android.
• Synced notifications
Act on a notification on your Android tablet and it is also dismissed
on your phone.
• Using CardView to display the recents
• Support concurrent documents
to start a activity as a new task
For example. web browser app,
documents in a productivity app
Temporarily restrict users from leaving your app or
being interrupted by notifications.
For example: Using an education app
How to: Call startLockTask() in activity.
If the task is locking
• The status bar is blank, and user notifications and
status information is hidden.
• The Home and Recent Apps buttons are hidden.
• Other apps may not launch new activities.
• The current app may start new activities, as long
as doing so does not create new tasks.
Android device in L version can work as in
peripheral mode which can send advertisement.
Offload scanning into background.
Add API to filter the advertisement which you has
interest to reduce the number of advertisement.
(Service UID, service data, manufacture data)
Reduce the scanning frequency.
Scheduling jobs - defining jobs for the system to run
asynchronously at a later time or under specified conditions
specific conditions, such as:
• The device is charging
• The device is connected to an unmetered network
• The system deems the device to be idle
• Completion with a minimum delay or within a specific deadline
• dumpsys batterystats
generate interesting statistical data
• Battery Historian tool
Analyzes interesting statistical data
• Support for OpenGL ES 3.1
• Android Extension Pack
Does Intel’s GPU support it ?
• Render Thread
Split the work doing UI thread into two threads to improve
UI thread create display list
reader thread: process display list with GPU.
• Support app dynamically scan for available
networks with specific capabilities, and establish a
connection to them
Google play service Architecture
• Google play services ships every six weeks. And
90% users are on the latest version of Google
How to user Google play service
• Start a Connection
mGoogleApiClient = new GoogleApiClient.Builder(this)
• Communicate with Google Services
Query query = new Query.Builder()
PendingResult result = Drive.DriveApi.query(mGoogleApiClient, query);
• Android wearable services
Setup the communication between Phone and
Provide an automatically synchronized,
persistent data store and a low-latency messaging
interface that let you sync data, exchange control
messages, and transfer assets.
Node API/ Message API/Data API(auto sync data
• App Indexing API
Provides a way for developers to notify Google about
deep links in their native apps and allows the Google
Search App, to drive re-engagement through Google
Search query auto completions, providing fast and easy
access to inner pages in apps.
• Google Cast API
Enables multi-screen experiences and lets user send
and control content like video from a small computing
device to a large display device like a television.
New: Includes media tracks that introduce closed
caption support for Chromecast.
• Google Wallet API
Increase conversions by streamlining your purchase
flow on mobile apps and websites.
Engage your customers with offers, loyalty programs,
and other objects stored in Google Wallet.
New: providing split tender support.
• Drive Android API
API to access the Drive service on mobile devices.
New: Adds the ability to sort query results, create
folders offline, and select any mime type in the file
picker by default.
• Dynamic security provider
Provides an API that apps can use to easily install a
dynamic security provider.
The dynamic security provider includes a replacement
for the platform's secure networking APIs, which can be
updated frequently for rapid delivery of security patches.
• Play Games services
Provides cross-platform Games services that lets you
easily integrate popular gaming features such as
achievements, leaderboards, Cloud Save, and real-time
multiplayer (on Android) in your tablet and mobile
Cloud compute platform
Cloud compute platform(1/3)
Google Compute Engine is a service that provides
virtual machines that run on Google infrastructure.
Google Compute Engine offers scale, performance,
and value that allows you to easily launch large
compute clusters on Google's infrastructure.
Cloud compute platform(2/3)
• Automatic scaling and load balancing
• Data storage
• Push notifications
• Data processing
• More quickly
• Integrate Gradle
• Integrate Google Cloud Platform
• More edit functionality
• Support development in all android devices
includes android auto,android tv, android wear
Maybe you can unlock your car through your
Using the authenticated device to authenticate another devices