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 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.”
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
Different “Flavors” of Android AOSP With Google Experience Amazon Fork CyanogenMod
Complete Computer in a box 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 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”
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 plugins 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
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
Action Bar Pattern
Questions?
Part 2 prep (optional): 1.Download Project: Unzip project to desktop 3.In Eclipse: File\Import\Import Existing Project into workspace