SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
GOOGLE’S
OBSESSION WITH
SWEET TREATS



Faisal Abid   @faisalabid
              www.faisalabid.com
ICECREAM
SANDWICH
AND OTHER
DELICIOUS THINGS




Faisal Abid   @faisalabid
              www.faisalabid.com
WHO AM I?

• Software Developer working with Android
	 since the beta days
• Previously a Flex/Flash and ColdFusion developer.
• Co-Author Flex 3 in Action
• Currently apart from Android, heavily involved in 		
	 the Node.js and CoffeeScript community.
• Entrepreneur, Author, Teacher & Developer




Faisal Abid   @faisalabid
              www.faisalabid.com
ABOUT THIS TALK

What’s cool in 3.0/4.0
• Design Guidelines
• Animation Framework
• ActionBar Framework
• Fragments
• New Views
• Dialog Fragments

The Future of Android Development


Faisal Abid   @faisalabid
              www.faisalabid.com
DESIGN GUIDELINES

Previous versions of Android looked like crap. There I said it.
• ICS looks beautiful.
• ICS focuses on simplicity
• Bye bye menu button
• Bye bye hardware keys

ICS is designed for multiple screens.
Flat look. Easy to scale.




Faisal Abid   @faisalabid
              www.faisalabid.com
ACTIONBAR




Faisal Abid   @faisalabid
              www.faisalabid.com
➸ SWIPING                          (VIEW PAGER)
                          ➸




Faisal Abid   @faisalabid
              www.faisalabid.com
HOLO THEME




Faisal Abid   @faisalabid
              www.faisalabid.com
ANIMATION FRAMEWORK

• Previous versions of Android did not do animations well
• I hated the anim.xml files for simple animations
• With Honeycomb, Android introduced .animate()
	 on all views.




Faisal Abid   @faisalabid
              www.faisalabid.com
DEMO

Faisal Abid   @faisalabid
              www.faisalabid.com
OBJECTANIMATOR, VALUEANIMATOR

• .animate() is powerful, but ObjectAnimator and
	 ValueAnimator are even more powerful.
• ObjectAnimator allows you to animate any property
	 of an object

   objectAnimatorNext = ObjectAnimator.ofFloat(this, “translationX”, 100f);
   objectAnimatorNext.setInterpolator(new DecelerateInterpolator());
   objectAnimatorNext.start();




Faisal Abid   @faisalabid
              www.faisalabid.com
QUICK WALKTHROUGH

PARALLAX
Parallax is cool, everyone wants to do it
and wants to know how.


Lets walk through how to do a simple parallax
effect using ObjectAnimator




Faisal Abid   @faisalabid
              www.faisalabid.com
SUMMARY HOW IT WORKS

• Foreground has to be faster.
• ObjectAnimator animates it forward and backwards
• Check if Animation already running to prevent it going nuts
• To make it usable in the real world you will need to fix the
	 edges of the imageview so that it doesn’t overflow.




Faisal Abid   @faisalabid
              www.faisalabid.com
VALUEANIMATOR

• Not all views have all the properties ready to be animated 		
	 using .animate()
• ValueAnimator will handle the rest for you.
• Animates the values from x to y.




Faisal Abid   @faisalabid
              www.faisalabid.com
DEMO

Faisal Abid   @faisalabid
              www.faisalabid.com
VALUEANIMATOR

That’s cool but how do I animate it?
• So we ran it. But.. It didn’t do anything. It knows nothing of 	
	 the progressbar.
• Enter onAnimateUpdateListener




Faisal Abid   @faisalabid
              www.faisalabid.com
DEMO

Faisal Abid   @faisalabid
              www.faisalabid.com
ACTIONBAR

• Bigger screens, thumb easier to click on top.
• Android introduced ActionBar in Honeycomb,
	 but ICS makes it much more cooler.
• ActionBar can support multiple screen resolution
	 with ease.




Faisal Abid   @faisalabid
              www.faisalabid.com
HOW TO USE ACTIONBAR

• ActionBar a = getActionBar()
• Actionbar uses the menuInflator and the
	 onCreateOptionsMenu
• Why? To support backwards compatibility.


Do I like it? No.




Faisal Abid   @faisalabid
              www.faisalabid.com
IFROOM | WITHTEXT

• One thing I like very much is the IfRoom|WithText
	 parameters.
• If the screen is small, they will just appear in the
	 overflow icon for GalaxyNexus+ or in the menu on 			
	 phones with hardware keys.




Faisal Abid   @faisalabid
              www.faisalabid.com
DEMO

Faisal Abid   @faisalabid
              www.faisalabid.com
FRAGMENTS

• Android is fragmented, so they introduced Fragments. Heh heh.
• Support large and small screen layouts.




Faisal Abid   @faisalabid
              www.faisalabid.com
ON A SINGLE SCREEN




Faisal Abid   @faisalabid
              www.faisalabid.com
ON A TABLET




Faisal Abid   @faisalabid
              www.faisalabid.com
GRIDLAYOUT AND SPACE

• ICS introduces two new Views.
• GridLayout and Space
• Gridlayout lets you get an amazing layout structure while 			
	 space, well spaces out your layout




Faisal Abid   @faisalabid
              www.faisalabid.com
GRIDLAYOUT

• Previous, we used LinearLayout, FrameLayout and
	 a combination of other Layouts to get a pretty cool 	
	 UI done.
• With GridLayout, we can achieve the same without 		
	 multiple views
• Less views = faster load times.




Faisal Abid   @faisalabid
              www.faisalabid.com
DEMO

Faisal Abid   @faisalabid
              www.faisalabid.com
DIALOG FRAGMENT

• Recently introduced
• DialogFragment gets rid of the ugly onCreateDialog(int)
	 No more case switching for no reason.
• Scales perfectly on all phone sizes
• Easy to use. You can pass listeners objects to the dialog
	 for notification results!




Faisal Abid   @faisalabid
              www.faisalabid.com
DEMO

Faisal Abid   @faisalabid
              www.faisalabid.com
FUTURE OF ANDROID

Im not a Google employee so I have no idea. But I can make
some educated guesses.


PROS                                  CONS
• Better API support for Cloud.       • More and More phones. Android is
• Siri altnerative with an open API   growing at a crazy rate. Which means
• More Focus on Gaming. Android       more trouble for developers to port on
Game Center? OpenFient Acquisition?   different phones.
• More options for TV development,    • Which means Bad android reviews and
Google Glasses Integration.           discouragement to develop further.
                                      • iPhone starts to look very promising in
                                      this scenario.



Faisal Abid   @faisalabid
              www.faisalabid.com
THANK YOU
ANY QUERIES?




Faisal Abid   @faisalabid
              www.faisalabid.com

Weitere ähnliche Inhalte

Ähnlich wie Google's Obsession with Sweet Treats. What's new in ICS and the Future of Android

FITC 2012 Jellybean Tips and Tricks
FITC 2012 Jellybean Tips and TricksFITC 2012 Jellybean Tips and Tricks
FITC 2012 Jellybean Tips and TricksFaisal Abid
 
Advanced Android Design Implementation
Advanced Android Design ImplementationAdvanced Android Design Implementation
Advanced Android Design ImplementationTack Mobile
 
A Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & DevelopmentA Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & DevelopmentKarl Bunyan
 
Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An IntroductionTyler Johnston
 
Xamarin.iOS Presentation
Xamarin.iOS PresentationXamarin.iOS Presentation
Xamarin.iOS PresentationMichael Ridland
 
Skip the IDE with PhoneGap Build
Skip the IDE with PhoneGap BuildSkip the IDE with PhoneGap Build
Skip the IDE with PhoneGap BuildTerry Ryan
 
Mobilizing wordpress WordCamp Edmonton 2011
Mobilizing wordpress WordCamp Edmonton 2011Mobilizing wordpress WordCamp Edmonton 2011
Mobilizing wordpress WordCamp Edmonton 2011Curtis McHale
 
HTML5 Canvas Performance optimization
HTML5 Canvas Performance optimizationHTML5 Canvas Performance optimization
HTML5 Canvas Performance optimizationDavid Goemans
 
BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance
 BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance
BoosterMedia: Overcome the bottleneck of HTML5 mobile game performanceDevGAMM Conference
 
Kickstart android development with xamarin
Kickstart android development with xamarinKickstart android development with xamarin
Kickstart android development with xamarinFoyzul Karim
 
FITC Sneak Peek 2012
FITC Sneak Peek 2012FITC Sneak Peek 2012
FITC Sneak Peek 2012Faisal Abid
 
Html5 - the new kid on the block
Html5 - the new kid on the blockHtml5 - the new kid on the block
Html5 - the new kid on the blockMarian Borca
 
Adventures in cross platform ConnectJS / TiConnect 2014
Adventures in cross platform ConnectJS / TiConnect 2014Adventures in cross platform ConnectJS / TiConnect 2014
Adventures in cross platform ConnectJS / TiConnect 2014Jason Kneen
 
Introduction to Xamarin Forms
Introduction to Xamarin Forms Introduction to Xamarin Forms
Introduction to Xamarin Forms Russ Fustino
 
How to deal with Fragmentation on Android
How to deal with Fragmentation on AndroidHow to deal with Fragmentation on Android
How to deal with Fragmentation on AndroidSittiphol Phanvilai
 
Mobilizing WordPress
Mobilizing WordPressMobilizing WordPress
Mobilizing WordPressCurtis McHale
 
Ionic intro + tips
Ionic intro + tipsIonic intro + tips
Ionic intro + tipsTony May
 
tvOS: An Introduction for iOS Developers
tvOS: An Introduction for iOS DeveloperstvOS: An Introduction for iOS Developers
tvOS: An Introduction for iOS DevelopersEric Hyche
 

Ähnlich wie Google's Obsession with Sweet Treats. What's new in ICS and the Future of Android (20)

FITC 2012 Jellybean Tips and Tricks
FITC 2012 Jellybean Tips and TricksFITC 2012 Jellybean Tips and Tricks
FITC 2012 Jellybean Tips and Tricks
 
Advanced Android Design Implementation
Advanced Android Design ImplementationAdvanced Android Design Implementation
Advanced Android Design Implementation
 
A Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & DevelopmentA Holistic Approach to HTML5 Game Design & Development
A Holistic Approach to HTML5 Game Design & Development
 
Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An Introduction
 
Xamarin.iOS Presentation
Xamarin.iOS PresentationXamarin.iOS Presentation
Xamarin.iOS Presentation
 
Skip the IDE with PhoneGap Build
Skip the IDE with PhoneGap BuildSkip the IDE with PhoneGap Build
Skip the IDE with PhoneGap Build
 
Mobilizing wordpress WordCamp Edmonton 2011
Mobilizing wordpress WordCamp Edmonton 2011Mobilizing wordpress WordCamp Edmonton 2011
Mobilizing wordpress WordCamp Edmonton 2011
 
HTML5 Canvas Performance optimization
HTML5 Canvas Performance optimizationHTML5 Canvas Performance optimization
HTML5 Canvas Performance optimization
 
BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance
 BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance
BoosterMedia: Overcome the bottleneck of HTML5 mobile game performance
 
Flutter by Shubham
Flutter by ShubhamFlutter by Shubham
Flutter by Shubham
 
Kickstart android development with xamarin
Kickstart android development with xamarinKickstart android development with xamarin
Kickstart android development with xamarin
 
FITC Sneak Peek 2012
FITC Sneak Peek 2012FITC Sneak Peek 2012
FITC Sneak Peek 2012
 
Html5 - the new kid on the block
Html5 - the new kid on the blockHtml5 - the new kid on the block
Html5 - the new kid on the block
 
Adventures in cross platform ConnectJS / TiConnect 2014
Adventures in cross platform ConnectJS / TiConnect 2014Adventures in cross platform ConnectJS / TiConnect 2014
Adventures in cross platform ConnectJS / TiConnect 2014
 
Introduction to Xamarin Forms
Introduction to Xamarin Forms Introduction to Xamarin Forms
Introduction to Xamarin Forms
 
How to deal with Fragmentation on Android
How to deal with Fragmentation on AndroidHow to deal with Fragmentation on Android
How to deal with Fragmentation on Android
 
Titanium Alloy Tutorial
Titanium Alloy TutorialTitanium Alloy Tutorial
Titanium Alloy Tutorial
 
Mobilizing WordPress
Mobilizing WordPressMobilizing WordPress
Mobilizing WordPress
 
Ionic intro + tips
Ionic intro + tipsIonic intro + tips
Ionic intro + tips
 
tvOS: An Introduction for iOS Developers
tvOS: An Introduction for iOS DeveloperstvOS: An Introduction for iOS Developers
tvOS: An Introduction for iOS Developers
 

Kürzlich hochgeladen

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Kürzlich hochgeladen (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Google's Obsession with Sweet Treats. What's new in ICS and the Future of Android

  • 1. GOOGLE’S OBSESSION WITH SWEET TREATS Faisal Abid @faisalabid www.faisalabid.com
  • 2. ICECREAM SANDWICH AND OTHER DELICIOUS THINGS Faisal Abid @faisalabid www.faisalabid.com
  • 3. WHO AM I? • Software Developer working with Android since the beta days • Previously a Flex/Flash and ColdFusion developer. • Co-Author Flex 3 in Action • Currently apart from Android, heavily involved in the Node.js and CoffeeScript community. • Entrepreneur, Author, Teacher & Developer Faisal Abid @faisalabid www.faisalabid.com
  • 4. ABOUT THIS TALK What’s cool in 3.0/4.0 • Design Guidelines • Animation Framework • ActionBar Framework • Fragments • New Views • Dialog Fragments The Future of Android Development Faisal Abid @faisalabid www.faisalabid.com
  • 5. DESIGN GUIDELINES Previous versions of Android looked like crap. There I said it. • ICS looks beautiful. • ICS focuses on simplicity • Bye bye menu button • Bye bye hardware keys ICS is designed for multiple screens. Flat look. Easy to scale. Faisal Abid @faisalabid www.faisalabid.com
  • 6. ACTIONBAR Faisal Abid @faisalabid www.faisalabid.com
  • 7. ➸ SWIPING (VIEW PAGER) ➸ Faisal Abid @faisalabid www.faisalabid.com
  • 8. HOLO THEME Faisal Abid @faisalabid www.faisalabid.com
  • 9. ANIMATION FRAMEWORK • Previous versions of Android did not do animations well • I hated the anim.xml files for simple animations • With Honeycomb, Android introduced .animate() on all views. Faisal Abid @faisalabid www.faisalabid.com
  • 10. DEMO Faisal Abid @faisalabid www.faisalabid.com
  • 11. OBJECTANIMATOR, VALUEANIMATOR • .animate() is powerful, but ObjectAnimator and ValueAnimator are even more powerful. • ObjectAnimator allows you to animate any property of an object objectAnimatorNext = ObjectAnimator.ofFloat(this, “translationX”, 100f); objectAnimatorNext.setInterpolator(new DecelerateInterpolator()); objectAnimatorNext.start(); Faisal Abid @faisalabid www.faisalabid.com
  • 12. QUICK WALKTHROUGH PARALLAX Parallax is cool, everyone wants to do it and wants to know how. Lets walk through how to do a simple parallax effect using ObjectAnimator Faisal Abid @faisalabid www.faisalabid.com
  • 13. SUMMARY HOW IT WORKS • Foreground has to be faster. • ObjectAnimator animates it forward and backwards • Check if Animation already running to prevent it going nuts • To make it usable in the real world you will need to fix the edges of the imageview so that it doesn’t overflow. Faisal Abid @faisalabid www.faisalabid.com
  • 14. VALUEANIMATOR • Not all views have all the properties ready to be animated using .animate() • ValueAnimator will handle the rest for you. • Animates the values from x to y. Faisal Abid @faisalabid www.faisalabid.com
  • 15. DEMO Faisal Abid @faisalabid www.faisalabid.com
  • 16. VALUEANIMATOR That’s cool but how do I animate it? • So we ran it. But.. It didn’t do anything. It knows nothing of the progressbar. • Enter onAnimateUpdateListener Faisal Abid @faisalabid www.faisalabid.com
  • 17. DEMO Faisal Abid @faisalabid www.faisalabid.com
  • 18. ACTIONBAR • Bigger screens, thumb easier to click on top. • Android introduced ActionBar in Honeycomb, but ICS makes it much more cooler. • ActionBar can support multiple screen resolution with ease. Faisal Abid @faisalabid www.faisalabid.com
  • 19. HOW TO USE ACTIONBAR • ActionBar a = getActionBar() • Actionbar uses the menuInflator and the onCreateOptionsMenu • Why? To support backwards compatibility. Do I like it? No. Faisal Abid @faisalabid www.faisalabid.com
  • 20. IFROOM | WITHTEXT • One thing I like very much is the IfRoom|WithText parameters. • If the screen is small, they will just appear in the overflow icon for GalaxyNexus+ or in the menu on phones with hardware keys. Faisal Abid @faisalabid www.faisalabid.com
  • 21. DEMO Faisal Abid @faisalabid www.faisalabid.com
  • 22. FRAGMENTS • Android is fragmented, so they introduced Fragments. Heh heh. • Support large and small screen layouts. Faisal Abid @faisalabid www.faisalabid.com
  • 23. ON A SINGLE SCREEN Faisal Abid @faisalabid www.faisalabid.com
  • 24. ON A TABLET Faisal Abid @faisalabid www.faisalabid.com
  • 25. GRIDLAYOUT AND SPACE • ICS introduces two new Views. • GridLayout and Space • Gridlayout lets you get an amazing layout structure while space, well spaces out your layout Faisal Abid @faisalabid www.faisalabid.com
  • 26. GRIDLAYOUT • Previous, we used LinearLayout, FrameLayout and a combination of other Layouts to get a pretty cool UI done. • With GridLayout, we can achieve the same without multiple views • Less views = faster load times. Faisal Abid @faisalabid www.faisalabid.com
  • 27. DEMO Faisal Abid @faisalabid www.faisalabid.com
  • 28. DIALOG FRAGMENT • Recently introduced • DialogFragment gets rid of the ugly onCreateDialog(int) No more case switching for no reason. • Scales perfectly on all phone sizes • Easy to use. You can pass listeners objects to the dialog for notification results! Faisal Abid @faisalabid www.faisalabid.com
  • 29. DEMO Faisal Abid @faisalabid www.faisalabid.com
  • 30. FUTURE OF ANDROID Im not a Google employee so I have no idea. But I can make some educated guesses. PROS CONS • Better API support for Cloud. • More and More phones. Android is • Siri altnerative with an open API growing at a crazy rate. Which means • More Focus on Gaming. Android more trouble for developers to port on Game Center? OpenFient Acquisition? different phones. • More options for TV development, • Which means Bad android reviews and Google Glasses Integration. discouragement to develop further. • iPhone starts to look very promising in this scenario. Faisal Abid @faisalabid www.faisalabid.com
  • 31. THANK YOU ANY QUERIES? Faisal Abid @faisalabid www.faisalabid.com