MAD Book Chapter 1
MAD Book Chapter 1
Syllabus -:
• Introduction to Android, Open handset alliance, Android ecosystem
• Need of Android, Feature of Android
• Tools and Software required for developing an Android application
• Android Architecture
Introduction to Android
Android क्या हैं
Key characteristics of the Android operating system include its open-source nature, which
allows developers to access and modify the source code. This has contributed to a diverse
ecosystem of apps and customizations created by developers and manufacturers
Android provides a user interface built around direct manipulation, using touch gestures that
correspond to real-world actions, such as swiping, tapping, pinching, and reverse pinching. The
operating system also supports multitasking and includes a notification system for keeping
users informed about updates and events.
Android was founded by Andy Rubin, Rich Miner, Nick Sears, and Chris White in October
2003. The initial goal was to create an advanced operating system for digital cameras, but the
team shifted their focus to smartphones due to the growing market.
In August 2005, Google acquired Android Inc., and Andy Rubin continued to lead the
Android project within Google.
The first commercially available Android device was the HTC Dream (also known as the T-
Mobile G1), released in October 2008.
The HTC Dream featured a touchscreen interface, a slide-out keyboard, and support for third-
party applications.
The Open Handset Alliance (OHA) is a consortium of mobile technology companies and
organizations that joined forces to develop and promote open standards for mobile devices. It
was founded in November 2007 with the goal of advancing the Android operating system, an
open-source platform for mobile devices. The key founding member of the Open Handset
Alliance was Google, and it played a central role in the development of Android.
❖ One of the primary objectives of the Open Handset Alliance was to foster the
development of an open-source mobile platform, which later became known as
Android. The open-source model allows developers to access and modify the Android
source code, encouraging innovation and collaboration.
❖ The OHA brought together a diverse group of mobile industry players, including
handset manufacturers, software companies, and mobile carriers. This collaboration
aimed to establish common standards and specifications for mobile devices to promote
interoperability.
❖ The flagship project of the Open Handset Alliance was the development of the Android
operating system. Google contributed the initial codebase for Android, and members of
the OHA actively participated in its development, shaping its features and capabilities.
❖ The OHA played a crucial role in building and expanding the Android ecosystem. By
creating a collaborative environment, member companies worked together to develop
applications, services, and devices that would run on the Android platform.
❖ The OHA embraced a diverse range of handset manufacturers, ensuring that Android
could be implemented on a variety of devices. This strategy led to the proliferation of
Android smartphones and tablets from different manufacturers, catering to various
market segments and consumer preferences.
❖ The formation of the Open Handset Alliance marked a significant shift in the mobile
industry. Android, as an open-source platform, provided an alternative to proprietary
operating systems, and its widespread adoption had a profound impact on the
smartphone market.
Android Ecosystem
Android ecosystem refers to the interdependence between the demand and supply of users,
equipment makers, and software developers. To become an android developer it is important
to understand the android ecosystem and its interdependencies. Android is a mobile OS that
is a modified version of the Linux kernel also it is open-source software. Android is
specifically designed for touchscreen mobile phones or smartphones.
1. Android User
2. Developer
3. Equipment Maker
3. Equipment Maker:
Android equipments are available in the market in a huge amount.
The Android operating system (OS) is designed to meet a variety of needs, both for end-users
and developers.
4. App Ecosystem: Android has a vast ecosystem of applications available through the Google
Play Store. This extensive library of apps caters to the diverse needs and preferences of users,
ranging from productivity tools to entertainment and gaming apps.
5. User Interface Customization: Android allows for extensive user interface customization,
both by device manufacturers (OEMs) and end-users. This enables a personalized experience,
as users can choose different themes, launchers, and widgets to suit their preferences.
6. Integration with Google Services: Android seamlessly integrates with various Google
services such as Gmail, Google Maps, Google Drive, and more. This integration enhances the
overall user experience and provides access to a suite of cloud-based services.
7. Security Features: Android incorporates robust security features to protect user data and
devices. This includes regular security updates, secure boot processes, app sandboxing, and
permissions management. Google Play Protect also helps in identifying and mitigating security
threats.
8. Multi-Tasking and Multitouch Support: Android supports multi-tasking, allowing users
to run multiple applications simultaneously. Additionally, the OS provides multitouch support,
enabling gestures and interactions using multiple fingers on touchscreens.
10. Regular Updates and New Features: Google regularly releases updates to the Android
OS, introducing new features, performance improvements, and security enhancements. This
ensures that users and devices stay up-to-date with the latest advancements.
12. Cost-Effective Solutions: Android's open-source nature and broad hardware compatibility
contribute to a wide range of devices available at various price points. This makes Android
devices accessible to a diverse user base with different budget constraints.
Features of Android
Android is a powerful operating system competing with Apple 4GS and supports great features.
Features Description
Android supports multiple connectivity technologies including
Connectivity GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE,
NFC, and WiMAX
Resizable Widgets are resizable, so users can expand them to show more content
widgets or shrink them to save space
Android has native support for multi-touch which was initially made
Multi-touch available in handsets such as the HTC Hero
A technology that lets apps discover and pair directly, over a high-
Wi-Fi bandwidth peer-to-peer connection.
Android architecture contains different number of components to support any android device
needs. Android software contains an open-source Linux Kernel having collection of number
of C/C++ libraries which are exposed through an application framework services.
Among all the components Linux Kernel provides main functionality of operating system
functions to smartphones and Dalvik Virtual Machine (DVM) provide platform for running
an android application.
• Applications
• Application Framework
• Android Runtime
• Platform Libraries
• Linux Kernel
Applications
Applications is the top layer of android architecture. The pre-installed applications like home,
contacts, camera, gallery etc and third party applications downloaded from the play store like
chat applications, games etc. will be installed on this layer only. It runs within the Android
run time with the help of the classes and services provided by the application framework.
Application framework
Application Framework provides several important classes which are used to create an
Android application. It provides a generic abstraction for hardware access and also helps in
managing the user interface with application resources. Generally, it provides the services
with the help of which we can create a particular class and make that class helpful for the
Applications creation.
Application runtime
Android Runtime environment is one of the most important part of Android. It contains
components like core libraries and the Dalvik virtual machine(DVM). Mainly, it provides the
base for the application framework and powers our application with the help of the core
libraries.
Like Java Virtual Machine (JVM), Dalvik Virtual Machine (DVM) is a register-based
virtual machine and specially designed and optimized for android to ensure that a device can
run multiple instances efficiently. It depends on the layer Linux kernel for threading and low-
level memory management. The core libraries enable us to implement android applications
using the standard JAVA or Kotlin programming languages.
Platform libraries
The Platform Libraries includes various C/C++ core libraries and Java based
libraries such as Media, Graphics, Surface Manager, OpenGL etc. to provide a
support for android development.
• Media library provides support to play and record an audio and video formats.
• Surface manager responsible for managing access to the display subsystem.
• SGL and OpenGL both cross-language, cross-platform application program
interface (API) are used for 2D and 3D computer graphics.
• SQLite provides database support and FreeType provides font support.
• Web-Kit This open source web browser engine provides all the functionality
to display web content and to simplify page loading.
• SSL (Secure Sockets Layer) is security technology to establish an encrypted
link between a web server and a web browser.
Linux Kernel
Linux Kernel is heart of the android architecture. It manages all the available
drivers such as display drivers, camera drivers, Bluetooth drivers, audio drivers,
memory drivers, etc. which are required during the runtime.
The Linux Kernel will provide an abstraction layer between the device hardware
and the other components of android architecture. It is responsible for
management of memory, power, devices etc.
• Security: The Linux kernel handles the security between the application and
the system.
• Memory Management: It efficiently handles the memory management
thereby providing the freedom to develop our apps.
• Process Management: It manages the process well, allocates resources to
processes whenever they need them.
• Network Stack: It effectively handles the network communication.
• Driver Model: It ensures that the application works properly on the device
and hardware manufacturers responsible for building their drivers into the
Linux build.
Assignment #1