30
Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson

Intro to Android for the iOS Fan

Embed Size (px)

DESCRIPTION

This presentation was given at the Denver Java Users Group on Jan 11 2011.

Citation preview

Page 1: Intro to Android for the iOS Fan

Intro to Android For the iOS fan

Denver Java Users GroupJanuary 11, 2012

Mike Wolfson

Page 2: Intro to Android for the iOS Fan

About Me

Droid Of The Day

Page 3: Intro to Android for the iOS Fan

Introduction

• iPhone is different than Android–Can’t directly port–Web is not the same either

• Android has it’s own peculiarities and UI paradigms, that must considered

• Asset management is particularly important

Page 4: Intro to Android for the iOS Fan

Open Handset Alliance

”Android was built from the ground up with the explicit goal to be the first open, complete, and free platform created specifically for mobile devices.”

http://www.openhandsetalliance.com

Page 5: Intro to Android for the iOS Fan

Revision lifecycle

• Named after deserts–Donut, Éclair, Froyo, Honeycomb

• “Ice Cream Sandwich” (OS 4.0)–Due Q4–OS 4.0– “Universal OS”

• 6 month releases

Page 6: Intro to Android for the iOS Fan

Open and Free

• Open Source:• No licensing cost

for manufacturers• Can be used in

different ways

http://source.android.com/download

Page 7: Intro to Android for the iOS Fan

Different “Flavors” of Android

• AOSP• With Google

Experience• Amazon Fork• CyanogenMod

Page 8: Intro to Android for the iOS Fan

Complete

• Computer in a box• Android@Home• TV• One OS to run

everywhere

Page 9: Intro to Android for the iOS Fan

Growth

• Manufacturers and carriers love it• 700,000 Devices Activated a day• Developers love it– Much less control– Less restrictions make for easier money making

• It’s getting big– 36 OEMs, 215 Carriers, 450K Devs

Page 10: Intro to Android for the iOS Fan

Lots and lots of different devices

Page 11: Intro to Android for the iOS Fan

Devices – iOS

Page 12: Intro to Android for the iOS Fan

Devices – Android

Page 13: Intro to Android for the iOS Fan

Vendor Customizations

GoogleStandard UI

HTCSense UI

Samsung Touch Wiz

MotorolaMoto Blur

Page 14: Intro to Android for the iOS Fan

Many Phones\Carriers\Manufacturers

• Fragmentation• Not all phones are created equal• Vendor UI Customization• Carrier is in control• Irregular upgrade lifecycle

Page 15: Intro to Android for the iOS Fan

Multiple resources and layouts

• Multiple Layouts and Graphic Assets• Can also be used for

language localization• Use Density Independent

values (DP) in layoutsEx. android:paddingLeft="8dp“

• draw9patch

Page 16: Intro to Android for the iOS Fan

Testing Multiple Devices

• Emulator• “Dogfooding”

Page 17: Intro to Android for the iOS Fan

Developing Apps

Page 18: Intro to Android for the iOS Fan

Android Dev Tools

• Eclipse• Java• Common tools and add-ons are supported by

default• Object oriented with a strong emphasis for

configuration over coding• Tools are optional (not required)

Page 19: Intro to Android for the iOS Fan

Automated Testing

• Continuous Integration tools– Maven\Jenkins pluginshttp://code.google.com/p/maven-android-plugin/Performance testing

• SDK Tools– TraceRunner, etc– Monkey Runner

• External Resources– Robotium

Page 20: Intro to Android for the iOS Fan

Support resources

• iPhone dev’s must sign NDA, which means content is fairly light on the web–Must pay to join dev program,

where all the info is.• Plenty of free Android resources

Page 21: Intro to Android for the iOS Fan

Distributing Apps

Page 22: Intro to Android for the iOS Fan

App Store• Content of store• Approval Process• Feedback• Web component• Low barrier to entry ($25/life)• Android Market not mandatory– Side load–Alternative markets

Page 23: Intro to Android for the iOS Fan

UI Patterns & Paradigms

Page 24: Intro to Android for the iOS Fan

Icons

• “I won’t download an app with crappy icons”• Google clearly defines guidelines• Ice Cream Sandwich changes

http://developer.android.com/guide/practices/ui_guidelines/icon_design.html

Page 25: Intro to Android for the iOS Fan

Android UI Paradigms

• 4 buttons– “Back”– “Menu” - context sensitive – “Home”– “Search” – context sensitive

• Widgets and shortcuts • Customizable Home screen• Notifications• Live Wallpaper• “App Drawer”

Page 26: Intro to Android for the iOS Fan

Navigation

iOS Android

Page 27: Intro to Android for the iOS Fan

Dashboard Pattern

http://www.androidpatterns.com/uap_pattern/dashboard

Page 28: Intro to Android for the iOS Fan

Action Bar Pattern

http://www.androidpatterns.com/uap_pattern/action-bar

Page 29: Intro to Android for the iOS Fan

Questions?

Page 30: Intro to Android for the iOS Fan

Part 2 prep (optional):1. Download Project: http://

dl.dropbox.com/u/23589031/DJUG.zip2. Unzip project to desktop3. In Eclipse: File\Import\Import Existing

Project into workspace