This are the slides of an android workshop held by Moritz Haarmann (@derwildemomo) and Benjamin Reimold (@elektrojunge) at an event by Mannheim Java Usergroup (@majug) on 15th October, 2010 at University of Mannheim.
The slides cover an introduction to various mobile os, the important concepts of the android os and various other important facts and information about the android ecosystem.
Feel free to distribute this presentation under Creative Commons - Non Commercial Licence
1 of 29
Downloaded 30 times
More Related Content
Android Workshop at @majug by @derwildemomo and @elektrojunge
1. Android
Overview ¨C Structure ¨C Development
Freitag, 15. Oktober 2010
2. English slides
Still hoping for an english attendend, though.
Freitag, 15. Oktober 2010
3. Benjamin Reimold
? Angewandte Informatik @ DHBW
Stuttgart
? Mobile Development, (Android/WinMo/¡)
? started with JEE, a lot of .Net recently
? also a music and book addict,...
? aformatik Training & Consulting
? Twitter: @elektrojunge
? Member of GTUG NA
Freitag, 15. Oktober 2010
4. Moritz Haarmann
? BSc @ HdM Stuttgart, Medieninformatik
? Mobile-Development, iPhone & Android
? Too much Java EE
? Vollzeit-Nerd
? CaperWhite GmbH
? Twitter: @derwildemomo
? Founder of GTUG NA
Freitag, 15. Oktober 2010
5. Agenda
? Mobile operating systems - overview
? Android fundamentals
? The walkthrough
? Android market
? Other interesting stuff
Freitag, 15. Oktober 2010
6. Mobile Operating
Systems
Overview & Comparison
Freitag, 15. Oktober 2010
7. Android OS
? Free, almost open source
? Based on a Linux kernel and a custom
virtual machine (more later)
? Most smartphones bought in the US are
Androids ( 8/2010 )
? Google, you know.
Freitag, 15. Oktober 2010
8. Apple iOS
? Most popular smartphone OS for
consumers
? Growing importance for usage in
enterprise (?consumerized IT¡°)
? Closed, yet very powerful platform
? Based on Unix
? Requires: Objective-C skills, money & a mac
Freitag, 15. Oktober 2010
9. Blackberry OS
? Widely used in corporate environments
? High security standards & detailed
administration (BES)
? Uses Java technology (Java ME +
proprietary stuff)
? Closely linked with the online services
offered
Freitag, 15. Oktober 2010
10. Windows Phone 7
? ?In the wild¡° ¨C still matters
? Lost market share dramatically over the
last years
? Windows Phone 7 to bring Microsoft back
? Windows Phone 7 ~ iOS 2
Freitag, 15. Oktober 2010
11. US Smartphone Market
Shares - ?in the wild¡°
iPhone Android Linux WiMo RIM WebOS
Symbian
? overall smartphone
4%2%
penetration
? 23%
35%
28%
? lates numbers from Nielsen
? Android 19% Share of Nokia Phones
Worldwide Gartner 2010:
9%
?
34,2 % Nokia Handys including
3% phones
Blackberry 31% 19% feature
In August, Android phones were
?
the most sold mobile OS in the US
iPhone 28% Nielsen, Q1/2010
http://blog.nielsen.com/nielsenwire/online_mobile/iphone-vs-android/
Freitag, 15. Oktober 2010
13. Architecture
Applications
Application Framework
basically everything your application will interact with
Libraries Android Runtime
think of Freetype, WebKit, SQLite (Android libraries & Dalvik VM)
Linux Kernel
HAL ¨C Power Management ¨C IPC ¨C ¡
Freitag, 15. Oktober 2010
14. Dalvik VM Gr??te Optimierung
statischer Art: globaler
Constant Pool f¨¹r alle Klassen
eines Pakets.
Andere Opcodes (2 byte statt
1 byte)
? Runtime for applications (1 VM per der InstallationByte Order,
Bei
optimiert, z.B. bei
wird noch
application!)
Inline Functions, Static
linking...
? Heavily optimized for mobile devices
? Custom executable format (.dex)
? Based on Apache Harmony JVM
implementation
? Not able to run Java Bytecode, no Java VM
Freitag, 15. Oktober 2010
15. Tools
? Eclipse
+ Android Developer Tools
+ Android Debugging Bridge
+ Emulator or Device
? everything but the device is 100% free
? Code Generator: droidBreeder, only
rudimentary
? UI Tool: DroidDraw
? MDD approach with Xtext, Acceleo, EMF
Freitag, 15. Oktober 2010
16. - ?Shortcomings?¡°
-?We call it personality!¡°
? No SOAP libraries included
? No ?properties¡°-?le as in Java but similar
mechanism using the ?res¡°-folder
? No native device/sd card encryption
? Limitted device management api
Freitag, 15. Oktober 2010
17. Terms you should know
or have heard of
Freitag, 15. Oktober 2010
18. Activity
? Fundamental application building block
? ?One screen¡°
? Lifecycle methods
? Create ¨C resume ¨C pause ¨C destroy ¨C ¡
? The ?V¡° and the ?C¡° in MVC
Freitag, 15. Oktober 2010
19. Intents
? ?Abstract Description of an operation to
be performed¡°
? Android speci?c event mechanism
? Late binding
? Can be created and received at runtime
? IPC
Freitag, 15. Oktober 2010
20. Application Context
? Runtime object provided by the system
? Look up services
? IPC
? Anything outside your app is likely to use
the context at some point
Freitag, 15. Oktober 2010
21. Other terms & stuff
? Services ¨C background activities without UI
? Content provider ¨C shareable data stores
? Broadcast receiver ¨C listeners for global
intents
? Bundle - a bundle of ?extra¡° information
? The Manifest ?le ¨C sounds familiar, doesn¡®t
it?
Freitag, 15. Oktober 2010
23. Development Walkthrough
? What does the app do?
? Create a project
? The DDMS perspective
? Project structure
? Create a virtual device
? With or without Google APIs?
? Layout the 1st activity
Freitag, 15. Oktober 2010
24. Development Walkthrough
? Create the activity
? AndroidManifest.xml
? The Java fun begins!
? actually writing the ?rst activity
? Persisting stuff with SQLite
? Accessing lists with Adapters
? HTTP-Calls
? Adding a Menu
Freitag, 15. Oktober 2010
25. Things to keep in mind
? Have a good user experience!
? Pay attention to the UI!
? Think about performance!
? Avoid object allocation (use static ?nal
attributes, avoid collections,...)!
? Consider different target devices!
? Pay more attention to the UI!
Freitag, 15. Oktober 2010
26. The Android Market
? Register as a developer for $29 using Google
google checkout und
paypal?
Checkout and agree to the license
? ~80.000 Apps (and growing)
? Not available worldwide but increased availability
? Signi?cantly more free apps than paid ones
(numbers vary, though)
? Needs a google account AND ?google checkout¡°
for paid apps
? Alternative markets?
Freitag, 15. Oktober 2010
27. Other interesting stuff
? Google Developer Events (not only on
Android) & Android Barcamps
? It¡®s hard to get info directly from Google
(improvements planned)
? User groups (www.gtugs.org) & Android
Meet-ups
? Fragmentation Issues?!
? Patent problem (Oracle¡®s lawsuit)?!
? Piracy problems?!
Freitag, 15. Oktober 2010
28. Some advertiseing
There¡®s the 1st event using ?our new name¡°
Stuttgart GTUG
2.11.2010, 18h, Android Tech Talks
Location: DHBW Stuttgart, Stuttgart-Mitte
Website: www.gtugna.gtugs.org
Freitag, 15. Oktober 2010
29. Thanks!
and now: Q&A!
Freitag, 15. Oktober 2010