2. • “Android is a software stack for mobile
devices that includes an operating system,
middleware and key applications”
3. • Android uses Linux for its device drivers,
memory management, process management,
and networking.
• The next level up contains the Android native
libraries. They are all written in C/C++
internally, but you’ll be calling them through
Java interfaces. In this layer you can find the
Surface Manager, 2D and 3D graphics, Media
codecs, the SQL database (SQLite), and a native
web browser engine (WebKit).
• Dalvik Virtual Machine. Dalvik runs dex files,
which are converted at compile time from
standard class and jar files.
Android Platform :Android Platform :
4. • Cellular networking : GSM, EDGE, 3G
(hardware dependent)
• LAN : Bluetooth, and Wi-Fi (hardware
dependent)
• Graphics Hardware Acceleration
• Camera, GPS and Compass (hardware
dependent)
• Touch screen and accelerometer for motion
sensing
Hardware which are supported :Hardware which are supported :
5. @2011 Mihail L. Sichitiu 5
• A business alliance consisting of 47 companies
to develop open standards for mobile devices
7. @2011 Mihail L. Sichitiu 7
• Android provides a set of core applications:
Email Client
SMS Program
Calendar
Maps
Browser
Contacts
Etc
• All applications are written using the Java language.
8. @2011 Mihail L. Sichitiu 8
• Features
Feature Role
View
System
Used to build an application, including lists, grids, text
boxes, buttons, and embedded web browser
Content
Provider
Enabling applications to access data from other
applications or to share their own data
Resource
Manager
Providing access to non-code resources (localized strings,
graphics, and layout files)
Notification
Manager
Enabling all applications to display customer alerts in the
status bar
Activity
Manager
Managing the lifecycle of applications and providing
a common navigation backstack
9. @2011 Mihail L. Sichitiu 9
• Including a set of C/C++ libraries used by
components of the Android system
• Exposed to developers through the Android
application framework
10. @2011 Mihail L. Sichitiu 10
• Dalvik Virtual Machine
Providing environment on which every Android
application runs
Each Android application runs in its own process, with its
own instance of the Dalvik VM.
Dalvik has been written such that a device can run
multiple VMs efficiently.
Register-based virtual machine
11. @2011 Mihail L. Sichitiu 11
• Dalvik Virtual Machine (Cont)
Executing the Dalvik Executable (.dex) format
.dex format is optimized for minimal memory footprint.
Compilation
Relying on the Linux Kernel for:
Threading
Low-level memory management
12. @2011 Mihail L. Sichitiu 12
Relying on Linux Kernel 2.6 for core system services
Memory and Process Management
Network Stack
Driver Model
Security
Providing an abstraction layer between the H/W and the rest of the
S/W stack
13. • Application Framework
• Dalvik virtual machine
• Integrated (webkit) browser
• 2D and 3D graphics APIs with HW
• SQLite
• Video and audio codecs
• Bluetooth, EDGE, 3G, and WiFi
• Camera, GPS, compass, and accelerometer
14. • Java
• Android SDK
• Eclipse IDE(optional)
• Android SDK has:
• Class Library
• Developer Tools
dx – Dalvik Cross-Assembler
aapt – Android Asset Packaging Tool
adb – Android Debug Bridge
ddms – Dalvik Debug Monitor Service
• Emulator and System Images
• Documentation and Sample Code
Software Development Requires :Software Development Requires :
15. • CPU typically runs 500-600 Mhz
• RAM available to an App may only be a few megabytes
• Disk (flash) access is very slow
• Lifecycle - apps must pause/quit often, and restore to give
the illusion that they are always running
• UI design
o typical screen may be HVGA (320x480)
o may be in portrait or landscape
o very high DPI - small text may not be readable
o touch resolution is very low (~25 pixel)
• Network access may be slow and (very) intermittent
16. • Ability to customize the Google Android
platform
• Wide range of mobile applications to choose.
• Features like weather details, opening screen,
live RSS feeds and many more.
• Entertainment functionalities will be taken a
notch higher by Google Android being able to
offer online real time multiplayer games.
Advantages :Advantages :
17. • We can only hope that the next versions of
Android have overcome the actual limitations
and that the future possibilities became a
reality
Conclusion :Conclusion :