300 likes | 461 Views
Intro to Android For the iOS fan. Denver Java Users Group January 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
E N D
Intro to Android For the iOSfan Denver Java Users Group January 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
Vendor Customizations Google Standard UI HTC Sense UI Samsung Touch Wiz Motorola Moto 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 layouts Ex. android:paddingLeft="8dp“ • draw9patch
Testing Multiple Devices • Emulator • “Dogfooding”
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 plugins http://code.google.com/p/maven-android-plugin/Performance testing • SDK Tools • TraceRunner, etc • Monkey Runner • External Resources • Robotium
Support resources • iPhonedev’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
App Store • Content of store • Approval Process • Feedback • Web component • Low barrier to entry ($25/life) • Android Market not mandatory • Side load • Alternative markets
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 Android iOS
Dashboard Pattern http://www.androidpatterns.com/uap_pattern/dashboard
Action Bar Pattern http://www.androidpatterns.com/uap_pattern/action-bar
Download Project: http://dl.dropbox.com/u/23589031/DJUG.zip Unzip project to desktop In Eclipse: File\Import\Import Existing Project into workspace Part 2 prep (optional):