SlideShare a Scribd company logo
1 of 26
Download to read offline
Google I/O 2014 Recap
Trey Robinson
Overview
○ Android Studio
○ Gradle
○ Android Work
○ ART Updates
○ Project Volta
○ Material Design
○ New Roboto
○ Animation
○ Shadows
○ RecyclerView
○ CardView
○ Notifications
Android Studio
● Now in BETA!
● Support for Wear, Auto and TV
● Improved Eclipse Migration
● Improved Project Flow
○ Currently Available on Canary Channel (8.4)
● Start Using Android Studio
○ it is still Beta but ...
○ Be Prepared to Switch
Gradle
● More Stable
○ No more breaking builds on Studio updates.
● Variants, Flavors, APK Splits
○ Debug, Release, Test, Production, etc.
○ Paid vs Free
○ Split APKs (x86, ARM, etc)
○ Device Specific
Android Work
● Unified Interaction Model
● New badge for apps administered by IT
● BYOD Devices - IT Work Profiles
● Company Devices - IT has full control
● New APIs
● Large Scale App Deployment via Play
● Uses Samsung KNOX
Goodbye Dalvik - Hello ART
● Why ART?
○ Hardware outpacing software
■ Multiprocessor
■ 4x more RAM
■ 60x more flash memory
○ Dalvik was targeted for ARM architectures
ART Features
● No changes for most developers.
● 3 main compilers:
○ L compiler
○ JNI Compiler
○ DEX to DEX optimizer
● Ahead of time compilation
● Improved GC
● 64 Bit Support
● Greatly Improved Alloc
Project Volta
● Job Scheduler
○ Defer and Schedule CPU/Battery intensive operations
○ Set Criteria:
■ Network Type (Metered/Unmetered)
■ Battery State (Device Plugged In?)
■ Idle Mode
■ Retry Criteria
■ Deadlines
○ Examples:
■ Database Ops
■ Backups
Volta - Battery Stats
● New Battery Stats Utility
○ Partial Wakelock Time
○ Run time
○ Mobile Data Used
○ Signal levels
○ Mobile Radio Activity
○ Signal Scanning Time
Volta - Battery Historian
● Visual Display
○ Top:
■ Screen On Time
■ Network State
■ User State (in phone
call?)
Material Design
● New Theme (Theme.Material)
● Improved Animation APIs
○ Ripples
○ Activity Transitions
● Depth and Shadows
● Many New APIs
○ RecyclerView!
○ CardView
● New Support Library
Material Theme
Material Changes
● Theme Colors
● Tint colors for most UI elements
○ NO MORE DRAWABLES FOR ACTIONBAR
COLOR CHANGES!!1!!!111!!1!!!!!!
● Define Bitmaps as an alpha mask and
tint them
● Color Extraction
○ Palette API
New Roboto Font
Animations - (L Only)
● New Thread Handling
● RippleDrawable
● StateAnimationDrawable
● Reveal
● Custom Interpolation
● Animation Curves
● Activity Transitions
Shadows - (L Only)
● Realtime Area Lightsource
● Elevates views above 2D view hierarchy
● Draws outside of bounds
● Animation of Z Translation
Card View
● Standard Look
● Real Shadows on L
● Fake Shadows pre-L
RecyclerView
● Replaces ListView
● In Support Library
● Built in Animation Support
○ Addition and Removal
● ViewHolder is Now Part of the API
● Grid/List/Custom layout support
PSA: If you are an Android “developer” and you do
not know what a ViewHolder is, then you should
probably look it up.
Ex. A
RecyclerView - Cont.
Notifications
● Visual Changes
● Expanded Layouts
● Notification On Lock Screen
● Heads-up Presentation Format
● Cloud-sync
● Media Controls
Notification - Priority
● Determine Display Order
● High/Max for Heads Up
● Heads Up display over apps
Notifications - Lock Screen
● Secure vs Insecure Lockscreen
● User controls what is displayed
○ Public
○ Private
○ Secret
Compatibility - Support Lib
● Currently NO AppCompat Material Theme
● RecyclerView
● CardView
● Pallette
● RoundedBitmapDrawable
● ViewPropertyAnimator
● NotificationCompat
Running L
● Nexus 5 / 7 Images Available
● L Preview SDK Available via SDK Manager
● Requires JDK 7
● Issues with Support Library
● Check out the API Demos
Questions?

More Related Content

Similar to Google I/O 2014 Recap

PSGL (PlayStation Graphics Library)
PSGL (PlayStation Graphics Library)PSGL (PlayStation Graphics Library)
PSGL (PlayStation Graphics Library)Slide_N
 
Android Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveAndroid Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveSebastian Vieira
 
Elixir + GraphQL = Absinthe 2019.04.10
Elixir + GraphQL = Absinthe 2019.04.10Elixir + GraphQL = Absinthe 2019.04.10
Elixir + GraphQL = Absinthe 2019.04.10Alexander Knowles
 
ELC-NA 2020: War story - Using mainline linux for an Android TV bsp
ELC-NA 2020: War story - Using mainline linux for an Android TV bspELC-NA 2020: War story - Using mainline linux for an Android TV bsp
ELC-NA 2020: War story - Using mainline linux for an Android TV bspNeil Armstrong
 
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop Neo4j
 
Ostech war story using mainline linux for an android tv bsp
Ostech  war story  using mainline linux  for an android tv bspOstech  war story  using mainline linux  for an android tv bsp
Ostech war story using mainline linux for an android tv bspNeil Armstrong
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Ido Green
 
Advanced Video Production with FOSS
Advanced Video Production with FOSSAdvanced Video Production with FOSS
Advanced Video Production with FOSSKirk Kimmel
 
DevCon Summit 2014: Trends in iOS Development by Allen Tan
DevCon Summit 2014: Trends in iOS Development by Allen TanDevCon Summit 2014: Trends in iOS Development by Allen Tan
DevCon Summit 2014: Trends in iOS Development by Allen TanDEVCON
 
GDCE 2015: Blueprint Components to C++
GDCE 2015: Blueprint Components to C++GDCE 2015: Blueprint Components to C++
GDCE 2015: Blueprint Components to C++Gerke Max Preussner
 
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebula Project
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloudwesley chun
 
Flutter talkshow
Flutter talkshowFlutter talkshow
Flutter talkshowNhan Cao
 
Castle Game Engine and the joy of making and using a custom game engine
Castle Game Engine and the joy  of making and using a custom game engineCastle Game Engine and the joy  of making and using a custom game engine
Castle Game Engine and the joy of making and using a custom game engineMichalis Kamburelis
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and UpdateChris Schalk
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App EngineVlad Filippov
 
Mob modcon 2015-android rom cooking tutorial
Mob modcon 2015-android rom cooking tutorialMob modcon 2015-android rom cooking tutorial
Mob modcon 2015-android rom cooking tutorialRon Munitz
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneursRodrigo Gil
 

Similar to Google I/O 2014 Recap (20)

PSGL (PlayStation Graphics Library)
PSGL (PlayStation Graphics Library)PSGL (PlayStation Graphics Library)
PSGL (PlayStation Graphics Library)
 
Android Lollipop: The developer's perspective
Android Lollipop: The developer's perspectiveAndroid Lollipop: The developer's perspective
Android Lollipop: The developer's perspective
 
Elixir + GraphQL = Absinthe 2019.04.10
Elixir + GraphQL = Absinthe 2019.04.10Elixir + GraphQL = Absinthe 2019.04.10
Elixir + GraphQL = Absinthe 2019.04.10
 
ELC-NA 2020: War story - Using mainline linux for an Android TV bsp
ELC-NA 2020: War story - Using mainline linux for an Android TV bspELC-NA 2020: War story - Using mainline linux for an Android TV bsp
ELC-NA 2020: War story - Using mainline linux for an Android TV bsp
 
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
 
Ostech war story using mainline linux for an android tv bsp
Ostech  war story  using mainline linux  for an android tv bspOstech  war story  using mainline linux  for an android tv bsp
Ostech war story using mainline linux for an android tv bsp
 
Android : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using AndroidAndroid : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using Android
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)
 
Advanced Video Production with FOSS
Advanced Video Production with FOSSAdvanced Video Production with FOSS
Advanced Video Production with FOSS
 
DevCon Summit 2014: Trends in iOS Development by Allen Tan
DevCon Summit 2014: Trends in iOS Development by Allen TanDevCon Summit 2014: Trends in iOS Development by Allen Tan
DevCon Summit 2014: Trends in iOS Development by Allen Tan
 
GDCE 2015: Blueprint Components to C++
GDCE 2015: Blueprint Components to C++GDCE 2015: Blueprint Components to C++
GDCE 2015: Blueprint Components to C++
 
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
 
Dai ibm powerai
Dai ibm poweraiDai ibm powerai
Dai ibm powerai
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
Flutter talkshow
Flutter talkshowFlutter talkshow
Flutter talkshow
 
Castle Game Engine and the joy of making and using a custom game engine
Castle Game Engine and the joy  of making and using a custom game engineCastle Game Engine and the joy  of making and using a custom game engine
Castle Game Engine and the joy of making and using a custom game engine
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App Engine
 
Mob modcon 2015-android rom cooking tutorial
Mob modcon 2015-android rom cooking tutorialMob modcon 2015-android rom cooking tutorial
Mob modcon 2015-android rom cooking tutorial
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 

Recently uploaded

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 

Recently uploaded (20)

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 

Google I/O 2014 Recap

  • 1. Google I/O 2014 Recap Trey Robinson
  • 2. Overview ○ Android Studio ○ Gradle ○ Android Work ○ ART Updates ○ Project Volta ○ Material Design ○ New Roboto ○ Animation ○ Shadows ○ RecyclerView ○ CardView ○ Notifications
  • 3. Android Studio ● Now in BETA! ● Support for Wear, Auto and TV ● Improved Eclipse Migration ● Improved Project Flow ○ Currently Available on Canary Channel (8.4) ● Start Using Android Studio ○ it is still Beta but ... ○ Be Prepared to Switch
  • 4. Gradle ● More Stable ○ No more breaking builds on Studio updates. ● Variants, Flavors, APK Splits ○ Debug, Release, Test, Production, etc. ○ Paid vs Free ○ Split APKs (x86, ARM, etc) ○ Device Specific
  • 5. Android Work ● Unified Interaction Model ● New badge for apps administered by IT ● BYOD Devices - IT Work Profiles ● Company Devices - IT has full control ● New APIs ● Large Scale App Deployment via Play ● Uses Samsung KNOX
  • 6. Goodbye Dalvik - Hello ART ● Why ART? ○ Hardware outpacing software ■ Multiprocessor ■ 4x more RAM ■ 60x more flash memory ○ Dalvik was targeted for ARM architectures
  • 7. ART Features ● No changes for most developers. ● 3 main compilers: ○ L compiler ○ JNI Compiler ○ DEX to DEX optimizer ● Ahead of time compilation ● Improved GC ● 64 Bit Support ● Greatly Improved Alloc
  • 8. Project Volta ● Job Scheduler ○ Defer and Schedule CPU/Battery intensive operations ○ Set Criteria: ■ Network Type (Metered/Unmetered) ■ Battery State (Device Plugged In?) ■ Idle Mode ■ Retry Criteria ■ Deadlines ○ Examples: ■ Database Ops ■ Backups
  • 9. Volta - Battery Stats ● New Battery Stats Utility ○ Partial Wakelock Time ○ Run time ○ Mobile Data Used ○ Signal levels ○ Mobile Radio Activity ○ Signal Scanning Time
  • 10. Volta - Battery Historian ● Visual Display ○ Top: ■ Screen On Time ■ Network State ■ User State (in phone call?)
  • 11. Material Design ● New Theme (Theme.Material) ● Improved Animation APIs ○ Ripples ○ Activity Transitions ● Depth and Shadows ● Many New APIs ○ RecyclerView! ○ CardView ● New Support Library
  • 13. Material Changes ● Theme Colors ● Tint colors for most UI elements ○ NO MORE DRAWABLES FOR ACTIONBAR COLOR CHANGES!!1!!!111!!1!!!!!! ● Define Bitmaps as an alpha mask and tint them ● Color Extraction ○ Palette API
  • 15. Animations - (L Only) ● New Thread Handling ● RippleDrawable ● StateAnimationDrawable ● Reveal ● Custom Interpolation ● Animation Curves ● Activity Transitions
  • 16. Shadows - (L Only) ● Realtime Area Lightsource ● Elevates views above 2D view hierarchy ● Draws outside of bounds ● Animation of Z Translation
  • 17.
  • 18. Card View ● Standard Look ● Real Shadows on L ● Fake Shadows pre-L
  • 19. RecyclerView ● Replaces ListView ● In Support Library ● Built in Animation Support ○ Addition and Removal ● ViewHolder is Now Part of the API ● Grid/List/Custom layout support PSA: If you are an Android “developer” and you do not know what a ViewHolder is, then you should probably look it up. Ex. A
  • 21. Notifications ● Visual Changes ● Expanded Layouts ● Notification On Lock Screen ● Heads-up Presentation Format ● Cloud-sync ● Media Controls
  • 22. Notification - Priority ● Determine Display Order ● High/Max for Heads Up ● Heads Up display over apps
  • 23. Notifications - Lock Screen ● Secure vs Insecure Lockscreen ● User controls what is displayed ○ Public ○ Private ○ Secret
  • 24. Compatibility - Support Lib ● Currently NO AppCompat Material Theme ● RecyclerView ● CardView ● Pallette ● RoundedBitmapDrawable ● ViewPropertyAnimator ● NotificationCompat
  • 25. Running L ● Nexus 5 / 7 Images Available ● L Preview SDK Available via SDK Manager ● Requires JDK 7 ● Issues with Support Library ● Check out the API Demos