1. Android
Overview
v1.0 – May 07, 2009
1 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
2. Contents
Smartphone Platforms
p
●
Android
●
− Handsets
− Development
− Main Concepts
− Market
2 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
3. About me: Andreas Jakl
About me: Andreas Jakl
Assistant Professor at the
●
Upper Austria University of Applied Sciences,
Campus Hagenberg
p g g
since 2006
Own company:
Own company:
●
Mopius
3 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
4. Smartphone Platforms
Smartphone Platforms
4 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
5. Google Android
Google Android
Developed by the
p y
●
Open Handset Alliance
− Based on Linux
Based on Linux
− Free licensing
− G1 (HTC) in the market now
http://www.openhandsetalliance.com/
p // p /
●
5 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
6. Open Handset Alliance
Open Handset Alliance
~50 technology / mobile companies
gy / p
●
Founded: November 2007
●
Involvement:
●
− Ensure compatibility
p y
− Bring in intellectual property
− Manufacture handsets
Manufacture handsets
http://www.openhandsetalliance.com/
●
6 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
7. Handset Manufacturers
Handset Manufacturers
7 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
9. Android: Development
Android: Development
Development
p
●
− Based on Java
(Eclipse‐Plugin)
− Own Virtual Machine
by Google (Dalvik)
by Google (Dalvik)
9 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
10. Emulator
QEMU
●
− Generic and open source machine
emulator and virtualizer
− http://bellard.org/qemu/
Android‐Emulator
●
− QMEU‐based (for ARM)
− Runs same system image as devices
Runs same system image as devices
Use the same toolchain for
emulator & devices
10 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
11. Linux Kernel
Linux Kernel
Why a Linux Kernel?
y
●
− Has been around for a long time
( stable))
− But: thoroughly optimized by Google for
mobile devices
− Provides: hardware abstraction, driver
model, security, memory & process
management, networking
Linux not accessible for the user
●
11 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
12. Java vs. C
Java vs. C++
12 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
13. Replacing & Reusing Components
Replacing & Reusing Components
Client component makes a request for a specific action
●
− “Pick a picture” request is called “Intent”
System picks best component for that action
●
− Built‐in Pictures application
− Can be replaced with another application
− New components can use existing functionality
Home Share on Ovi
Pick a
picture
Contacts
Ctt Pictures
Pi t
Your app.
13 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
14. Intents
Commonly used in the system
y y
●
Display
web page
Send SMS
Pick a Show
picture location
Send
email Edit
Go home
contacts
14 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
15. Application Lifecycle
Application Lifecycle
Application lifecycle is managed
●
by the system
Application start/stop is transparent
●
to the user
t th
End‐user only sees that they are moving
●
between screens
between screens
− Users shouldn’t have to think about
memory for applications on a mobile device
− Virtual memory would be problematic –
flash is slow
15 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
16. Android Market
Android Market
Register with Google account
g g
●
$25 registration fee
●
Payment?
●
− Free: no fee
− Otherwise: 30% go to Google
http://market.android.com/publish
http //market android com/p blish
●
16 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
17. Operator Stores
Operator Stores
Android applications also available through t‐zones Austria!
pp g
17 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing
18. Online
Android.com
Portal to all resources
Android Market Open Source Project
Developers
18 Andreas Jakl, 2009
FH Hagenberg – Mobile Computing