Chapter 1
Chapter 1
Android is an open source and Linux-based Operating System for mobile devices such as
smartphones and tablet computers.
The company named Open Handset Alliance developed Android for the first time.
Google sponsored the project at initial stages and in the year 2005, it acquired the whole company.
The first beta version of the Android Software Development Kit (SDK) was released by Google in 2007
where as the first commercial version, Android 1.0, was released in September 2008.
Android offers a unified approach to application development for mobile devices which means
developers need to only develop for Android, and their applications should be able to run on different
devices powered by Android.
The source code for Android is available under free and open source software licenses.
It can be thought of as a mobile operating system.
But it is not limited to mobile only. It is currently used in various devices such as mobiles, tablets,
televisions etc.
The goal of android project is to create a successful real-world product that improves the mobile
experience for end users.
OHA
Mobile Application Development NOTES Unit 1 by Prof. Somwanshi A.A. ( Arrow Computer Academy ) : - 8788335443
History of Android
Initially, Andy Rubin founded Android Incorporation in Palo Alto, California, United States in October,
2003.
In 17th August 2005, Google acquired android Incorporation. Since then, it is in the subsidiary of Google
Incorporation.
The key employees of Android Incorporation are Andy Rubin, Rich Miner, Chris White and Nick
Sears.The name android come from the nickname given to Andy Rubin by his co-workers at Apple based
on his love of robots.
In 2007, Google announces the development of android OS.
The first commercial version, Android 1.0, was released in September 2008. In 2008, HTC launched the
first android mobile.
The name for every new version of update is based on ‘desserts’.
The code names of android versions are given below.
1.5 Cupcake
1.6 Donut
2.1 Eclair
2.2 Froyo
2.3 Gingerbread
4.4 KitKat
5.0 Lollipop
6.0 Marshmallow
7.0 Nougat
8.0 Oreo
9.0 Pie
Android 10
Android 11
Android 12
Mobile Application Development NOTES Unit 1 by Prof. Somwanshi A.A. ( Arrow Computer Academy ) : - 8788335443
Mobile Application Development NOTES Unit 1 by Prof. Somwanshi A.A. ( Arrow Computer Academy ) : - 8788335443
Android Ecosystem
Android ecosystem is nothing but the relationship between Users, Developers/Programmers, and
Hardware equipment makers.
It is all about the interdependence between android developers(Google), Equipment Manufacturers,
and users.
As this is an ecosystem one cannot exist without the other.
The main block of the android ecosystem is:
1. Android User
2. Developer
3. Equipment Maker
1. Android User
Android user who purchases the handset and applications are the major contributors to the
ecosystem.
Android is less expensive and easy for the user to use.
Android allows users to customize their OS as it has an open-source platform.
Android provides freedom to the users to choose what application to be installed and how much space
to be used an application
Mobile Application Development NOTES Unit 1 by Prof. Somwanshi A.A. ( Arrow Computer Academy ) : - 8788335443
Why Android / Need of Android ?
There are so many reasons you should choose the Android platform for mobile application development.
Open Source
The Android OS is an open-source platform based on the Linux kernel and multiple open-source
libraries. In this way, developers are free to contribute to or extend the platform as necessary for
building mobile apps which run on Android devices.
Multi-Platform Support
In the market, there is a wide range of hardware devices powered by the Android OS, including many
different phones and tablets. Even the development of android mobile apps can occur on Windows, Mac
OS, or Linux.
Multi-Carrier Support
World wide a large number of telecom carriers like Airtel, Vodafone, Idea Cellular, AT&T Mobility, BSNL,
etc. are supporting Android-powered phones.
Mobile Application Development NOTES Unit 1 by Prof. Somwanshi A.A. ( Arrow Computer Academy ) : - 8788335443
Features of Android
Beautiful UI
1
Android OS basic screen provides a beautiful and intuitive user interface.
Connectivity
2
Android supports multiple connectivity technologies such as WiFi, Bluetooth, Hotspots,
CDMA, and GSM VPN, NFC, VOLTE, and USB
Storage
3
SQLite, a lightweight relational database, is used for data storage purposes.
Media support
4
Android supports various type of audio/video media formats like MP3, JPEG, PNG, GIF, BMP,
etc.
Messaging
5
Messaging is available through SMS and MMS.
Open Source
6
Android is open source, enabling developers to access and modify the source code,
promoting innovation, and customization.
Multi-touch
7
Android has native support for multi-touch which was initially made available in handsets
such as the HTC Hero.
Multi-tasking
8
User can jump from one task to another and same time various application can run
simultaneously.
Resizable widgets
9
Widgets are resizable, so users can expand them to show more content or shrink them to
save space.
Multi-Language
10
Android's Multilingual capability enables users to switch between different languages. It has
Mobile Application Development NOTES Unit 1 by Prof. Somwanshi A.A. ( Arrow Computer Academy ) : - 8788335443
numerous global language like English, French, Chinese, etc. It helps the user to meet their
preferences.
GCM
11
Google Cloud Messaging (GCM) is a service that lets developers send short message data to
their users on Android devices, without needing a proprietary sync solution.
Wi-Fi Direct
12
A technology that lets apps discover and pair directly, over a high-bandwidth peer-to-
peer connection.
Android Beam
13
A popular NFC-based technology that lets users instantly share, just by touching two NFC-
enabled phones together.
Web browser
16
Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript
engine supporting HTML5 and CSS3.
All the required tools to develop Android applications are freely available and can be downloaded from
the Web. Following is the list of software's you will need before you start your Android application
programming.
Java JDK5 or later version
Android Studio
Mobile Application Development NOTES Unit 1 by Prof. Somwanshi A.A. ( Arrow Computer Academy ) : - 8788335443
Architecture:
1. Applications:
The top layer of android architecture is Applications.
The native (pre installed)and third party applications like Contacts, Email, Music, Gallery, Clock, Games,
etc. whatever we will build those will be installed on this layer only.
The application layer runs within the Android run time using the classes and services made available
from the application framework.
Mobile Application Development NOTES Unit 1 by Prof. Somwanshi A.A. ( Arrow Computer Academy ) : - 8788335443
2. Application Framework:
The Application Framework layer provides many higher-level services to applications in the form of
Java classes.
Application developers use these services in their applications.
It basically provides the services through which we can create the particular class and make that class
helpful for the Applications creation.
The application framework includes services like Activity Manager, Window Manager, Content
Provider, View system , Package Manager, telephony service, Resourse Manager, Location services,
Notification manager, NFC service, , etc. which we can use for application development as per our
requirements.
3. Android Runtime:
Android Runtime environment is an important part of Android.
It contains components like core libraries and the Dalvik virtual machine.
The Android run time is the engine that powers our applications along with the libraries and it
forms the basis for the application framework.
Dalvik Virtual Machine (DVM) is a register-based virtual machine like Java Virtual Machine (JVM).
It is specially designed and optimized to run Android applications.
It ensure that a device can run multiple instances efficiently.
It depends on the Linux kernel for threading and low-level memory management.
The Android runtime also provides a set of core libraries which enable Android application developers
to write Android applications using standard Java programming language.
4. Platform Libraries:
The Platform Libraries includes various C/C++ core libraries and Java-based libraries such as SSL,
libc, Graphics, SQLite, Webkit, Media, Surface Manger, OpenGL, etc. to provide support for Android
development.
The following are the summary details of some core android libraries available for android
development.
Media Library for playing and recording audio and video formats
The Surface manager library to provide a display management
SGL (Scalable Graphics Library) and OpenGL Graphics libraries for 2D and 3D graphics
SQLite is for database support
FreeType for font support
Web-Kit for web browser support
SSL for Internet security.
5. Linux Kernel:
Linux Kernel is a bottom layer and heart of the android architecture.
It exists at the root of android architecture and contains all the low-level device drivers for the
various hardware components of an Android device.
Linux Kernel is responsible for device drivers, power management, memory management, device
management and resource access.
Mobile Application Development NOTES Unit 1 by Prof. Somwanshi A.A. ( Arrow Computer Academy ) : - 8788335443
It manage all the drivers such as display drivers, keypad drivers, camera drivers, Bluetooth
drivers, audio drivers, memory drivers, etc. which are mainly required for the android device during
the runtime.
The Linux Kernel will provides an abstraction layer between the device hardware and the remainder
of the stack.
Mobile Application Development NOTES Unit 1 by Prof. Somwanshi A.A. ( Arrow Computer Academy ) : - 8788335443