Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson
Feb 23, 2016
Intro to Android For the iOS fan
Denver Java Users GroupJanuary 11, 2012
Mike Wolfson
About Me
Droid Of The Day
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
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
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
Open and Free
• Open Source:• No licensing cost
for manufacturers• Can be used in
different ways
http://source.android.com/download
Different “Flavors” of Android
• AOSP• With Google
Experience• Amazon Fork• CyanogenMod
Complete
• Computer in a box• Android@Home• TV• One OS to run
everywhere
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
Lots and lots of different devices
Devices – iOS
Devices – Android
Vendor Customizations
GoogleStandard UI
HTCSense UI
Samsung Touch Wiz
MotorolaMoto Blur
Many Phones\Carriers\Manufacturers
• Fragmentation• Not all phones are created equal• Vendor UI Customization• Carrier is in control• Irregular upgrade lifecycle
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
Testing Multiple Devices
• Emulator• “Dogfooding”
Developing Apps
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)
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
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
Distributing Apps
App Store• Content of store• Approval Process• Feedback• Web component• Low barrier to entry ($25/life)• Android Market not mandatory– Side load–Alternative markets
UI Patterns & Paradigms
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
Android UI Paradigms
• 4 buttons– “Back”– “Menu” - context sensitive – “Home”– “Search” – context sensitive
• Widgets and shortcuts • Customizable Home screen• Notifications• Live Wallpaper• “App Drawer”
Navigation
iOS Android
Dashboard Pattern
http://www.androidpatterns.com/uap_pattern/dashboard
Action Bar Pattern
http://www.androidpatterns.com/uap_pattern/action-bar
Questions?
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