Introduction to Android
---> What is Android?
1) Android
> “andr” – Greek – means “man or male”
> Suffix “eides” used to mean “alike” or “of the species”
2) Together it means “being human”
3) It is a software platform for mobile devices
4) It provides a framework for creation of applications
5) Android is built on Linux (i.e. Linux Kernel)
> Android is not Linux
> Android is a complete stack on the Linux Kernel
>> Software Platform versus OS
1) Android is an application framework on top of Linux
> Facilitates rapid development & deployment of applications in many domains
2) Android is the enabler for broad application developer base
3) Android is Open and Free
> Operates under Apache 2.0 License (majority of code)
4) Initially developed by Google, now managed by Open Handset Alliance
5) Developers write managed code using the Java language and Android Java libraries
>> Android Design goals
1) Designed originally for Cell Phones
2) Design Goals
> Small Footprint
> Power management for reduced energy consumption
> Screen Resolution – size and management
3) Platform independence
Android Software Stack
Application Layer (Blue Layer)
1) Basic applications (Native Android Applications)
> Web Browser (WebKit based)
> E-mail client (can talk to gmail)
> SMS management application
> PIM suite – Calendar and contact list (tightly integrated to Google’s online services)
> Full featured mobile Google maps application
> An Instant Messaging client
> A music player and picture viewer
2) Application framework consists of the following components:
> Software framework that is used to develop a standard structure of an application
>Classes that are used to create Android applications
>Provides generic abstraction for accessing hardware, managing the user interface and application resources
Libraries (Green Layer)
1) Written in C/C++
> called using Java interface
2) Libraries include
> Surface Manager (for composing windows)
> FreeType – Support for bitmap and vector font rendering
> 2D and 3D graphics (Scalable Graphics Library and OpenGL)
> Media Codecs like MP3 and MPEG-4
> SQL database – SQLite
> Web browser engine WebKit
> libc – standard c library optimized for Linux based embedded devices
> SSL – Support for using Secure Socket Layer
Android Runtime (Part of Green Layer)
Has mainly two components
1) Core Libraries (Core Java packages that are used to create applications)
> Google’s Android specific packages
> Currently closed source – Google has committed to make it open-source
> Java packages that are part of Java Standard Edition 5 specification
> Google gets them from Apache Harmony project
> Licensed under Apache Software Foundation License Version 2
2)Dalvik Virtual Machine
> Interpreter optimized for low-power and low-memory devices
What is DALVIK ?
1) Dalvik is the runtime that runs user-space Android applications
> Invented by Dan Bornstein
> Named after a village in Iceland
> Register-based virtual machine
> Runs Dalvik byte-code instructions (not java byte-code)
2) Each Android application runs in its own process, with its own instance of the 3) Dalvik VM
4) Dalvik has been written so that a device can run multiple VMs efficiently
---> Dalvik Virtual machine
1) Executes the Dalvik Executable (dex) format
> .dex format is optimized for minimal memory print
> compilation
2) Relies on Linux kernel for
> threading
> Low-level memory management
DALVIK versus JVM
Kernel (Red Layer)
1) Linux Kernel (2.6) used by Android for core system services
> Memory Management
> Process Management
> Networking
> Device drivers
> Security
2) Provides an abstraction layer between
> Hardware and the rest of the software stack
Android Applications - Components
1) An Android application can consist of four basic components:
a) Activities
> Activity presents a visual user interface for one focused endeavor the user can undertake
Example: Present a list of menu items
Stand-alone utilities on desktop systems
Example : An office application
b) Service
> Service runs in the background
like the services or daemons in desktop or server Oss
Example – An MP3 player playing songs
c) Broadcast Receivers
> Component which receives and reacts to broadcast announcements
Example: an announcement that the battery is low
d) Intents
> Activities, services and broadcast receivers are activated by asynchronous messages called Intents
e) Content Providers
> Makes a specific set of the application’s data available to other applications.
> Created to share data with other applications
content://contacts/people – Public URI that uniquely identifies the data set
Android Information::
Android™ delivers a complete set of software for mobile devices: Operating system, middleware and key mobile applications.
URL's:
http://www.android.com/
http://source.android.com/
http://developer.android.com/
http://androidguys.com/
http://source.android.com/roadmap/cupcake
The Android Software Development Kit (SDK) is also available:
http://developer.android.com/sdk/1.1_r1/index.html
1) Android
> “andr” – Greek – means “man or male”
> Suffix “eides” used to mean “alike” or “of the species”
2) Together it means “being human”
3) It is a software platform for mobile devices
4) It provides a framework for creation of applications
5) Android is built on Linux (i.e. Linux Kernel)
> Android is not Linux
> Android is a complete stack on the Linux Kernel
>> Software Platform versus OS
1) Android is an application framework on top of Linux
> Facilitates rapid development & deployment of applications in many domains
2) Android is the enabler for broad application developer base
3) Android is Open and Free
> Operates under Apache 2.0 License (majority of code)
4) Initially developed by Google, now managed by Open Handset Alliance
5) Developers write managed code using the Java language and Android Java libraries
>> Android Design goals
1) Designed originally for Cell Phones
2) Design Goals
> Small Footprint
> Power management for reduced energy consumption
> Screen Resolution – size and management
3) Platform independence
Android Software Stack
Application Layer (Blue Layer)
1) Basic applications (Native Android Applications)
> Web Browser (WebKit based)
> E-mail client (can talk to gmail)
> SMS management application
> PIM suite – Calendar and contact list (tightly integrated to Google’s online services)
> Full featured mobile Google maps application
> An Instant Messaging client
> A music player and picture viewer
2) Application framework consists of the following components:
> Software framework that is used to develop a standard structure of an application
>Classes that are used to create Android applications
>Provides generic abstraction for accessing hardware, managing the user interface and application resources
Libraries (Green Layer)
1) Written in C/C++
> called using Java interface
2) Libraries include
> Surface Manager (for composing windows)
> FreeType – Support for bitmap and vector font rendering
> 2D and 3D graphics (Scalable Graphics Library and OpenGL)
> Media Codecs like MP3 and MPEG-4
> SQL database – SQLite
> Web browser engine WebKit
> libc – standard c library optimized for Linux based embedded devices
> SSL – Support for using Secure Socket Layer
Android Runtime (Part of Green Layer)
Has mainly two components
1) Core Libraries (Core Java packages that are used to create applications)
> Google’s Android specific packages
> Currently closed source – Google has committed to make it open-source
> Java packages that are part of Java Standard Edition 5 specification
> Google gets them from Apache Harmony project
> Licensed under Apache Software Foundation License Version 2
2)Dalvik Virtual Machine
> Interpreter optimized for low-power and low-memory devices
What is DALVIK ?
1) Dalvik is the runtime that runs user-space Android applications
> Invented by Dan Bornstein
> Named after a village in Iceland
> Register-based virtual machine
> Runs Dalvik byte-code instructions (not java byte-code)
2) Each Android application runs in its own process, with its own instance of the 3) Dalvik VM
4) Dalvik has been written so that a device can run multiple VMs efficiently
---> Dalvik Virtual machine
1) Executes the Dalvik Executable (dex) format
> .dex format is optimized for minimal memory print
> compilation
2) Relies on Linux kernel for
> threading
> Low-level memory management
DALVIK versus JVM
Kernel (Red Layer)
1) Linux Kernel (2.6) used by Android for core system services
> Memory Management
> Process Management
> Networking
> Device drivers
> Security
2) Provides an abstraction layer between
> Hardware and the rest of the software stack
Android Applications - Components
1) An Android application can consist of four basic components:
a) Activities
> Activity presents a visual user interface for one focused endeavor the user can undertake
Example: Present a list of menu items
Stand-alone utilities on desktop systems
Example : An office application
b) Service
> Service runs in the background
like the services or daemons in desktop or server Oss
Example – An MP3 player playing songs
c) Broadcast Receivers
> Component which receives and reacts to broadcast announcements
Example: an announcement that the battery is low
d) Intents
> Activities, services and broadcast receivers are activated by asynchronous messages called Intents
e) Content Providers
> Makes a specific set of the application’s data available to other applications.
> Created to share data with other applications
content://contacts/people – Public URI that uniquely identifies the data set
Android Information::
Android™ delivers a complete set of software for mobile devices: Operating system, middleware and key mobile applications.
URL's:
http://www.android.com/
http://source.android.com/
http://developer.android.com/
http://androidguys.com/
http://source.android.com/roadmap/cupcake
The Android Software Development Kit (SDK) is also available:
http://developer.android.com/sdk/1.1_r1/index.html
nice material.....
ReplyDeleteshort and sweet description
ReplyDeleteThanks...........
DeleteIts very nice and covered all the topics with figure so fully understandable... thanks for this info....
ReplyDelete