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

Post on 27-May-2015

771 views 0 download

Tags:

description

Ice cream sandwich is Googles most ambitious version of Android to date and the reviews have been positive. Get an in-depth ride through Ice cream sandwich, what it has to offer and what the future holds of Android's next version Jellybean. We will cover topics such as dealing with multiple screen sizes, Async Tasks, the new powerful animation framework and lastly we will look into what we can expect from Jellybean, Android 5.0.

transcript

Faisal Abid @faisalabidwww.faisalabid.com

GOOGLE’S OBSESSION WITH SWEET TREATS

Faisal Abid @faisalabidwww.faisalabid.com

ICECREAM SANDWICH AND OTHER DELICIOUS THINGS

Faisal Abid @faisalabidwww.faisalabid.com

• 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

WHO AM I?

Faisal Abid @faisalabidwww.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 @faisalabidwww.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 @faisalabidwww.faisalabid.com

ACTIONBAR

Faisal Abid @faisalabidwww.faisalabid.com

SWIPING (VIEW PAGER)➸

Faisal Abid @faisalabidwww.faisalabid.com

HOLO THEME

Faisal Abid @faisalabidwww.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 @faisalabidwww.faisalabid.com

DEMO

Faisal Abid @faisalabidwww.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 @faisalabidwww.faisalabid.com

QUICK WALKTHROUGH

PARALLAXParallax 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 @faisalabidwww.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 @faisalabidwww.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 @faisalabidwww.faisalabid.com

DEMO

Faisal Abid @faisalabidwww.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 @faisalabidwww.faisalabid.com

DEMO

Faisal Abid @faisalabidwww.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 @faisalabidwww.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 @faisalabidwww.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 @faisalabidwww.faisalabid.com

DEMO

Faisal Abid @faisalabidwww.faisalabid.com

FRAGMENTS

• Android is fragmented, so they introduced Fragments. Heh heh.

• Support large and small screen layouts.

Faisal Abid @faisalabidwww.faisalabid.com

ON A SINGLE SCREEN

Faisal Abid @faisalabidwww.faisalabid.com

ON A TABLET

Faisal Abid @faisalabidwww.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 @faisalabidwww.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 @faisalabidwww.faisalabid.com

DEMO

Faisal Abid @faisalabidwww.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 @faisalabidwww.faisalabid.com

DEMO

Faisal Abid @faisalabidwww.faisalabid.com

FUTURE OF ANDROID

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

some educated guesses.

PROS

• Better API support for Cloud.

• Siri altnerative with an open API

• More Focus on Gaming. Android

Game Center? OpenFient Acquisition?

• More options for TV development,

Google Glasses Integration.

CONS

• More and More phones. Android is

growing at a crazy rate. Which means

more trouble for developers to port on

different phones.

• Which means Bad android reviews and

discouragement to develop further.

• iPhone starts to look very promising in

this scenario.

Faisal Abid @faisalabidwww.faisalabid.com

THANK YOUANY QUERIES?