Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.
-
date post
20-Dec-2015 -
Category
Documents
-
view
227 -
download
6
Transcript of Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.
![Page 1: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/1.jpg)
Intro to Android For the iOS fan
Denver Java Users GroupJanuary 11, 2012
Mike Wolfson
![Page 2: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/2.jpg)
About Me
Droid Of The Day
![Page 3: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/3.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/4.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/5.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/6.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/7.jpg)
Different “Flavors” of Android
• AOSP• With Google
Experience• Amazon Fork• CyanogenMod
![Page 8: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/8.jpg)
Complete
• Computer in a box• Android@Home• TV• One OS to run
everywhere
![Page 9: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/9.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/10.jpg)
Lots and lots of different devices
![Page 11: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/11.jpg)
Devices – iOS
![Page 12: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/12.jpg)
Devices – Android
![Page 13: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/13.jpg)
Vendor Customizations
GoogleStandard UI
HTCSense UI
Samsung Touch Wiz
MotorolaMoto Blur
![Page 14: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/14.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/15.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/16.jpg)
Testing Multiple Devices
• Emulator• “Dogfooding”
![Page 17: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/17.jpg)
Developing Apps
![Page 18: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/18.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/19.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/20.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/21.jpg)
Distributing Apps
![Page 22: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/22.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/23.jpg)
UI Patterns & Paradigms
![Page 24: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/24.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/25.jpg)
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 Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/26.jpg)
Navigation
iOS Android
![Page 27: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/27.jpg)
Dashboard Pattern
http://www.androidpatterns.com/uap_pattern/dashboard
![Page 28: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/28.jpg)
Action Bar Pattern
http://www.androidpatterns.com/uap_pattern/action-bar
![Page 29: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/29.jpg)
Questions?
![Page 30: Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.](https://reader036.fdocuments.in/reader036/viewer/2022062421/56649d445503460f94a206d9/html5/thumbnails/30.jpg)
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