SlideShare a Scribd company logo
1 of 7
Android Introduction
By
Dr. Ramkumar Lakshminarayanan
Introduction
The mobile development is becoming the standard of the industry application. Mobile
users demand more choice, more opportunities to customize their phones and tablets with more
functionality. Mobile Service Providers and operators want to provide value-added content to
their subscribers in a manageable and lucrative way. Mobile developers want the freedom to
develop the powerful mobile applications users demand with minimal roadblocks to success.
Finally, handset manufacturers want a stable, secure, and affordable platform to power their
devices. Android is one of the potential game changer for the mobile development and is addressing
the growing needs of the mobile marketplace. This chapter explains the architecture of
Android OS and its benefits.
Objectives
At the end of this module, the students will be able to:
1.1. Explain the benefits of Android OS
1.2. Analyze the architecture of Android
1.1 Android OS and its benefits
Google’s Android mobile phone software platform is the next big opportunity for
application software developers. Google announced the Open Handset Alliance and the
Android platform in November of 2007, releasing the first beta version of the Android
Software Development Kit (SDK) at the same time. As per the statistics of Google more
than 1 million people had downloaded the versions of the SDK.lso
Android, by providing a standard mobile phone application environment, it has also
provided a market (Google Play) for mobile applications—and the opportunity for
applications developers to profit from those applications.
Proprietary Software Stacks
Most of the existing smart phones and tablets use proprietary, relatively closed
software stacks, such as Nokia’s Series with the Symbian operating system as well as with
Windows Operating System and Apple IOS. Modifications to these stacks (adding a
driver, for example) have to be done either by the stack owner or by the handset
manufacturer. The stacks are not open source, so changing anything in the stack is
difficult at best
Closed networks
Mobile operators often lock the handsets so applications cannot be added. The
operators claim this is needed to preserve the integrity of their mobile networks, making
sure that viruses and spam are not inadvertently installed by end users.
The Open Handset Alliance
Google and 33 other companies announced the formation of the Open Handset
Alliance on November 5, 2007. For us as mobile application developers, that means we
are free to develop whatever creative mobile applications we can think of, free to market
them (or give them, at our option) to Android mobile phone owners, and free to profit
from that effort any way we can. Each member of the Open Handset Alliance has
its own reasons for participating and contributing its intellectual property, and we are
free to benefit. The Alliance releases software through Google’s developer website
(http://developer.android.com).
Features of Android
There are already many mobile platforms on the market today, including Symbian,
iPhone, Windows Mobile, BlackBerry, Java Mobile Edition, Linux Mobile (LiMo), and
more but Android is the first environment that combines the following:
• A truly open, free development platform based on Linux and open source:
Handset makers like it because they can use and customize the platform
without paying a royalty. Developers like it because it is not locked into any
one vendor that may go under or be acquired.
• Tons of built-in services out of the box: Location-based services use GPS or
cell tower triangulation. A full-powered SQL database lets the power of local
storage for occasionally connected computing and synchronization. Browser
and map views can be embedded directly in the applications. All these built-in
capabilities helps in lowering the development costs.
• Automatic management of the application life cycle: Programs are isolated
from each other by multiple layers of security, which will provide a level of
system stability not seen before in smart phones. The end user will no longer
have to worry about what applications are active or close some programs so
that others can run. Android is optimized for low-power, low-memory devices
in a fundamental way that no previous platform has attempted.
• High-quality graphics and sound: Smooth 2D vector graphics and animation
inspired by Flash are melded with 3D accelerated OpenGL graphics to enable
new kinds of games and business applications. Codecs for the most common
industry standard audio and video formats are built right in, including H.264
(AVC), MP3, and AAC.
• Portability across a wide range of current and future hardware: All the
programs are written in Java and executed by Android’s Dalvik virtual
machine, so the code will be portable across ARM, x86, and other
architectures. Support for a variety of input methods is included such as
keyboard, touch, and trackball. User interfaces can be customized for any
screen resolution and orientation.
Android Platform
Android is an operating system and a software platform upon which applications
are developed. A core set of applications for everyday tasks, such as web browsing and
email, are included on Android handsets.
The Android platform is designed to be more fault-tolerant than many of its
predecessors. The handset runs a Linux operating system upon which Android applications
are executed in a secure fashion. Each Android application runs in its own virtual
machine. Android applications are managed code; therefore, they are much less likely to
cause the phone to crash, leading to fewer instances of device corruption (also called
“bricking” the phone, or rendering it useless).
Android is open source software stack. The components and key layers of Android
Platform are described in Figure 1.1
Linux Kernel
Android is built on top of a solid and proven foundation: the Linux kernel.
Android uses Linux for its memory management, process management, networking, and
other operating system services.
Figure 1.1: Android System Architecture
Native Libraries
The next layer above the kernel contains the Android native libraries. These shared
libraries are all written in C or C++, compiled for the particular hardware architecture used by
the phone, and preinstalled by the phone vendor. Some of the most important native libraries
include the following:
• Surface Manager: Android uses a compositing window manager. It is
simple, instead of drawing directly to the screen buffer, your drawing
commands go into off screen bitmaps that are then combined with other
bitmaps to form the display the user sees. This lets the system create all sorts
of interesting effects such as see-through windows and fancy transitions.
• 2D and 3D graphics: Two- and three-dimensional elements can be combined
in a single user interface with Android. The library will use 3D hardware if the
device has it or a fast software renderer if it doesn’t have it.
• Media codecs: Android can play video and record and play back audio in a
variety of formats including AAC, AVC (H.264), H.263, MP3, and MPEG-4.
• SQL database: Android includes the lightweight SQLite database engine,
the same database used in Firefox and the Apple iPhone. You can use this for
persistent storage in your application
• Browser engine: For the fast display of HTML content, Android uses
the WebKit library. This is the same engine used in the Google Chrome
browser, Apple’s Safari browser, the Apple iPhone, and Nokia platform.
These libraries are not applications that stand by themselves. They exist only to be called
by higher level programs. Starting in Android 1.5, you can write and deploy your own
native libraries using the Native Development Toolkit (NDK).
Android Runtime
Also sitting on top of the kernel is the Android runtime, including the Dalvik virtual
machine and the core Java libraries. The Dalvik VM is Google’s implementation of
Java, optimized for mobile devices. All the code you write for Android will be written
in Java and run within the
VM.
Dalvik differs from traditional Java in two
important ways:
• The Dalvik VM runs .dex files, which are converted at compile time from
standard .class and .jar files. .dex files are more compact and efficient than
class files, an important consideration for the limited memory and battery-
powered devices that Android targets.
• The core Java libraries that come with Android are different from both the Java
Standard Edition (Java SE) libraries and the Java Mobile Edition (Java ME)
libraries.
Application Framework
Sitting above the native libraries and runtime is the Application Framework layer.
This layer provides the high-level building blocks that are used to create the applications.
The framework comes preinstalled with Android, but can also be extended it with custom
components as needed. The most important parts of the framework are as follows:
• Activity manager: This controls the life cycle of applications and maintains a common
“backstack” for user navigation.
• Content providers: These objects encapsulate data that needs to be shared
between applications, such as contacts.
• Resource manager: Resources are anything that goes with the program that is not
code.
• Location manager: An Android phone always knows where it is.
• Notification manager: Events such as arriving messages, appointments,
proximity alerts, alien invasions, and more can be presented in an unobtrusive
fashion to the user.
Applications and Widgets
The highest layer in the Android architecture diagram is the Applications and
Widgets layer. End users will see only these programs Applications are programs that can
take over the whole screen and interact with the user. On the other hand, Widgets
(sometimes called gadgets), only operate in a small rectangle of the Home screen
application. When someone buys an Android phone, it will come prepackaged with a
number of standard system applications, including the following:
• Phone dialer
• Email
• Contacts
• Web browser
• Android Market
Using the Android Market, the user will be able to download new programs to
run on their phone.
Chapter Summary
Mobile software development has evolved over time. Android has emerged as a new
mobile development platform, building on past successes and avoiding past failures of
other platforms. Android was designed to empower the developer to write innovative
applications. The platform is open source, with no up-front fees, and developers enjoy
many benefits over other competing platforms. In the next chapter we will the installation
procedures for Android and how to write programs.

More Related Content

More from Dr. Ramkumar Lakshminarayanan

Using many languages in single Android App (in tamil)
Using many languages in single Android App (in tamil)Using many languages in single Android App (in tamil)
Using many languages in single Android App (in tamil)Dr. Ramkumar Lakshminarayanan
 

More from Dr. Ramkumar Lakshminarayanan (20)

Php Tutorial
Php TutorialPhp Tutorial
Php Tutorial
 
Phonegap for Android
Phonegap for AndroidPhonegap for Android
Phonegap for Android
 
Create and Sell Android App (in tamil)
Create and Sell Android App (in tamil)Create and Sell Android App (in tamil)
Create and Sell Android App (in tamil)
 
Android app - Creating Live Wallpaper (tamil)
Android app - Creating Live Wallpaper (tamil)Android app - Creating Live Wallpaper (tamil)
Android app - Creating Live Wallpaper (tamil)
 
Android Tips (Tamil)
Android Tips (Tamil)Android Tips (Tamil)
Android Tips (Tamil)
 
Android Animation (in tamil)
Android Animation (in tamil)Android Animation (in tamil)
Android Animation (in tamil)
 
Creating List in Android App (in tamil)
Creating List in Android App (in tamil)Creating List in Android App (in tamil)
Creating List in Android App (in tamil)
 
Single Touch event view in Android (in tamil)
Single Touch event view in Android (in tamil)Single Touch event view in Android (in tamil)
Single Touch event view in Android (in tamil)
 
Android Application using seekbar (in tamil)
Android Application using seekbar (in tamil)Android Application using seekbar (in tamil)
Android Application using seekbar (in tamil)
 
Rating Bar in Android Example
Rating Bar in Android ExampleRating Bar in Android Example
Rating Bar in Android Example
 
Creating Image Gallery - Android app (in tamil)
Creating Image Gallery - Android app (in tamil)Creating Image Gallery - Android app (in tamil)
Creating Image Gallery - Android app (in tamil)
 
Create Android App using web view (in tamil)
Create Android App using web view (in tamil)Create Android App using web view (in tamil)
Create Android App using web view (in tamil)
 
Hardware Interface in Android (in tamil)
Hardware Interface in Android (in tamil)Hardware Interface in Android (in tamil)
Hardware Interface in Android (in tamil)
 
GPS in Android (in tamil)
GPS in Android (in tamil)GPS in Android (in tamil)
GPS in Android (in tamil)
 
Using many languages in single Android App (in tamil)
Using many languages in single Android App (in tamil)Using many languages in single Android App (in tamil)
Using many languages in single Android App (in tamil)
 
SQLite in Android App (in tamil)
SQLite in Android App (in tamil)SQLite in Android App (in tamil)
SQLite in Android App (in tamil)
 
Shared Preference in Android App
Shared Preference in Android AppShared Preference in Android App
Shared Preference in Android App
 
Data Storage in Android App
Data Storage in Android AppData Storage in Android App
Data Storage in Android App
 
Part 7
Part 7Part 7
Part 7
 
Notification in Android App (in tamil)
Notification in Android App (in tamil)Notification in Android App (in tamil)
Notification in Android App (in tamil)
 

Recently uploaded

Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsChandrakantDivate1
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsChandrakantDivate1
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesChandrakantDivate1
 
Leading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfLeading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfCWS Technology
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...nishasame66
 

Recently uploaded (6)

Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 
Leading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfLeading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdf
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
 

Android introduction-chapter1

  • 1. Android Introduction By Dr. Ramkumar Lakshminarayanan Introduction The mobile development is becoming the standard of the industry application. Mobile users demand more choice, more opportunities to customize their phones and tablets with more functionality. Mobile Service Providers and operators want to provide value-added content to their subscribers in a manageable and lucrative way. Mobile developers want the freedom to develop the powerful mobile applications users demand with minimal roadblocks to success. Finally, handset manufacturers want a stable, secure, and affordable platform to power their devices. Android is one of the potential game changer for the mobile development and is addressing the growing needs of the mobile marketplace. This chapter explains the architecture of Android OS and its benefits. Objectives At the end of this module, the students will be able to: 1.1. Explain the benefits of Android OS 1.2. Analyze the architecture of Android 1.1 Android OS and its benefits Google’s Android mobile phone software platform is the next big opportunity for application software developers. Google announced the Open Handset Alliance and the Android platform in November of 2007, releasing the first beta version of the Android Software Development Kit (SDK) at the same time. As per the statistics of Google more than 1 million people had downloaded the versions of the SDK.lso Android, by providing a standard mobile phone application environment, it has also provided a market (Google Play) for mobile applications—and the opportunity for applications developers to profit from those applications. Proprietary Software Stacks Most of the existing smart phones and tablets use proprietary, relatively closed software stacks, such as Nokia’s Series with the Symbian operating system as well as with
  • 2. Windows Operating System and Apple IOS. Modifications to these stacks (adding a driver, for example) have to be done either by the stack owner or by the handset manufacturer. The stacks are not open source, so changing anything in the stack is difficult at best Closed networks Mobile operators often lock the handsets so applications cannot be added. The operators claim this is needed to preserve the integrity of their mobile networks, making sure that viruses and spam are not inadvertently installed by end users. The Open Handset Alliance Google and 33 other companies announced the formation of the Open Handset Alliance on November 5, 2007. For us as mobile application developers, that means we are free to develop whatever creative mobile applications we can think of, free to market them (or give them, at our option) to Android mobile phone owners, and free to profit from that effort any way we can. Each member of the Open Handset Alliance has its own reasons for participating and contributing its intellectual property, and we are free to benefit. The Alliance releases software through Google’s developer website (http://developer.android.com). Features of Android There are already many mobile platforms on the market today, including Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile Edition, Linux Mobile (LiMo), and more but Android is the first environment that combines the following: • A truly open, free development platform based on Linux and open source: Handset makers like it because they can use and customize the platform without paying a royalty. Developers like it because it is not locked into any one vendor that may go under or be acquired. • Tons of built-in services out of the box: Location-based services use GPS or cell tower triangulation. A full-powered SQL database lets the power of local storage for occasionally connected computing and synchronization. Browser and map views can be embedded directly in the applications. All these built-in capabilities helps in lowering the development costs. • Automatic management of the application life cycle: Programs are isolated
  • 3. from each other by multiple layers of security, which will provide a level of system stability not seen before in smart phones. The end user will no longer have to worry about what applications are active or close some programs so that others can run. Android is optimized for low-power, low-memory devices in a fundamental way that no previous platform has attempted. • High-quality graphics and sound: Smooth 2D vector graphics and animation inspired by Flash are melded with 3D accelerated OpenGL graphics to enable new kinds of games and business applications. Codecs for the most common industry standard audio and video formats are built right in, including H.264 (AVC), MP3, and AAC. • Portability across a wide range of current and future hardware: All the programs are written in Java and executed by Android’s Dalvik virtual machine, so the code will be portable across ARM, x86, and other architectures. Support for a variety of input methods is included such as keyboard, touch, and trackball. User interfaces can be customized for any screen resolution and orientation. Android Platform Android is an operating system and a software platform upon which applications are developed. A core set of applications for everyday tasks, such as web browsing and email, are included on Android handsets. The Android platform is designed to be more fault-tolerant than many of its predecessors. The handset runs a Linux operating system upon which Android applications are executed in a secure fashion. Each Android application runs in its own virtual machine. Android applications are managed code; therefore, they are much less likely to cause the phone to crash, leading to fewer instances of device corruption (also called “bricking” the phone, or rendering it useless). Android is open source software stack. The components and key layers of Android Platform are described in Figure 1.1 Linux Kernel Android is built on top of a solid and proven foundation: the Linux kernel. Android uses Linux for its memory management, process management, networking, and
  • 4. other operating system services. Figure 1.1: Android System Architecture Native Libraries The next layer above the kernel contains the Android native libraries. These shared libraries are all written in C or C++, compiled for the particular hardware architecture used by the phone, and preinstalled by the phone vendor. Some of the most important native libraries include the following: • Surface Manager: Android uses a compositing window manager. It is simple, instead of drawing directly to the screen buffer, your drawing commands go into off screen bitmaps that are then combined with other bitmaps to form the display the user sees. This lets the system create all sorts of interesting effects such as see-through windows and fancy transitions.
  • 5. • 2D and 3D graphics: Two- and three-dimensional elements can be combined in a single user interface with Android. The library will use 3D hardware if the device has it or a fast software renderer if it doesn’t have it. • Media codecs: Android can play video and record and play back audio in a variety of formats including AAC, AVC (H.264), H.263, MP3, and MPEG-4. • SQL database: Android includes the lightweight SQLite database engine, the same database used in Firefox and the Apple iPhone. You can use this for persistent storage in your application • Browser engine: For the fast display of HTML content, Android uses the WebKit library. This is the same engine used in the Google Chrome browser, Apple’s Safari browser, the Apple iPhone, and Nokia platform. These libraries are not applications that stand by themselves. They exist only to be called by higher level programs. Starting in Android 1.5, you can write and deploy your own native libraries using the Native Development Toolkit (NDK). Android Runtime Also sitting on top of the kernel is the Android runtime, including the Dalvik virtual machine and the core Java libraries. The Dalvik VM is Google’s implementation of Java, optimized for mobile devices. All the code you write for Android will be written in Java and run within the VM. Dalvik differs from traditional Java in two important ways: • The Dalvik VM runs .dex files, which are converted at compile time from standard .class and .jar files. .dex files are more compact and efficient than class files, an important consideration for the limited memory and battery- powered devices that Android targets. • The core Java libraries that come with Android are different from both the Java Standard Edition (Java SE) libraries and the Java Mobile Edition (Java ME) libraries. Application Framework Sitting above the native libraries and runtime is the Application Framework layer.
  • 6. This layer provides the high-level building blocks that are used to create the applications. The framework comes preinstalled with Android, but can also be extended it with custom components as needed. The most important parts of the framework are as follows: • Activity manager: This controls the life cycle of applications and maintains a common “backstack” for user navigation. • Content providers: These objects encapsulate data that needs to be shared between applications, such as contacts. • Resource manager: Resources are anything that goes with the program that is not code. • Location manager: An Android phone always knows where it is. • Notification manager: Events such as arriving messages, appointments, proximity alerts, alien invasions, and more can be presented in an unobtrusive fashion to the user. Applications and Widgets The highest layer in the Android architecture diagram is the Applications and Widgets layer. End users will see only these programs Applications are programs that can take over the whole screen and interact with the user. On the other hand, Widgets (sometimes called gadgets), only operate in a small rectangle of the Home screen application. When someone buys an Android phone, it will come prepackaged with a number of standard system applications, including the following: • Phone dialer • Email • Contacts • Web browser • Android Market Using the Android Market, the user will be able to download new programs to run on their phone. Chapter Summary Mobile software development has evolved over time. Android has emerged as a new mobile development platform, building on past successes and avoiding past failures of
  • 7. other platforms. Android was designed to empower the developer to write innovative applications. The platform is open source, with no up-front fees, and developers enjoy many benefits over other competing platforms. In the next chapter we will the installation procedures for Android and how to write programs.