Spectra - Jatin Puri

Download Report

Transcript Spectra - Jatin Puri

Android
- A Fairy Tail
Outline
•
•
•
•
•
Android – A brief History
Android Internals
Why you should care about Android
Android App in 10 Minutes
The Future
2
CS C314 Software Development For Portable Devices
3
Android Journey
Founded by
• Andy Rubin (co-founder of Danger),
• Rich Miner(co-founder of Wildfire Communications,
Inc.),
• Nick Sears (once VP at T-Mobile)
• Chris White (headed design and interface
development at WebTV)
"...smarter mobile devices that are
more aware of its owner's location
and preferences“
-Andy Rubin
(Senior VP Mobile, Google)
Google’s Vision
Or Desperation
Google buys Android
- August 2005
Google’s Master Plan
• Make the cloud more accessible
• Keep connectivity pervasive
• Make the client more powerful
Open Handset Alliance
9
Open Handset Alliance
Novemb
How is Android Different
•
•
•
•
Great Documentation
Background Tasks
Android Market
Platform Heterogeneity
Getting started
Development Environment
• Operating Systems
– Windows
– Mac
– Linux
•
•
•
•
Eclipse
Android SDK
ADT Eclipse Plugin (Optional)
Native Development Toolkit (Optional)
Which Platform?
Java
"What we've actually been asked to do by Larry
and Sergey is to investigate what technical
alternatives exist to Java for Android and
Chrome. We've been over a bunch of these, and
think they all suck. We conclude that we need to
negotiate a license for Java under the terms we
need.“
- Excepts from internal Google email known as
the "Lindholm draft"
Why Java
• Popularity – The Most used language in the
world
• Strong Community
• Robust Open Source Tool Chain with a lot of
third party libraries
Ways to Develop
•
•
•
•
•
Java
Java + C/C++
C++ : Primarily for Games
HTML + CSS + JavaScript
Scripting
Dalvik Virtual Machine
Sun’s standard JVM
Java and Dalvik VM
Java Source
Code
Java Source
Code
• .java files
Byte Code
• .java files
Byte Code
• Java
Compiler
Java Compiler
• Java
Compiler
Java Compiler
Java Virtual
Machine
• Processed
Dex Compiler
Dalvik Byte
Code
Dalvik VM
Dalvik Executables
Key Differences
• Register Based vs Stack Based
• More efficient and Compact Implementation
• Dalvik runs .dex files
Why not Sun’s Standard JVM
• License
• Mobile Experience
– Size : Dalvik Uncompressed is 70% Java
Compressed
– .class files
– Custom made
Why not J2ME
Java Source
Code
• .java files
Byte Code
Dex Compiler
• Java
Compiler
Dalvik Byte
Code
Dalvik VM
Dalvik Executables
Application Framework
• Dalvik Executables
• Resources
• Native Libs
What is Android?
“ Android is a software stack for mobile devices
that includes an operating system,
middleware and key applications ”
Android S/W Stack – App Framework
40
Android S/W Stack – App Framework
Core Platform Services,
• Activity Manager
• Package Manager
• Window Manager
• Resource Manager
• Content Providers
• View System
41
Android S/W Stack – App Framework
Hardware Services,
• Telephony Service
• Location Service
• Bluetooth Service
• Wi-Fi Service
• USB Service
• Sensor Service
42
• Java -------- > C using JNI
• Native Development Toolkit
How does Google earn or benefit from
Android?
Android Update History
1.0
23 September 2008
1.1
9 February 2009
1.5 (Cupcake)
Based on Linux Kernel 2.6.27
1.6 (Donut)
Based on Linux Kernel 2.6.29
2.0 / 2.1 (Eclair)
Based on Linux Kernel 2.6.29
2.2 (Froyo)
Based on Linux Kernel 2.6.32
30 April 2009
15 September 2009
26 October 2009
20 May 2010
Android Current
2.3 (Gingerbread)
Based on Linux Kernel 2.6.35.7
3.0 Honeycomb
Ice Cream
6 December 2010
Android Current Distribution
Based on data collected on January 4, 2011
Open source project
• http://source.android.com
• Apache 2.0 and GPL v2
• Git repository
Android SDK
•
•
•
•
Android emulator
Command line tools
Documentation
Sample Applications
Android emulator (s)
Eclipse plugin
• https://dl-ssl.google.com/android/eclipse/
CS C314 Software Development For Portable Devices
52
Thank you
http://jatinpuri.com
[email protected]
9604438132
53