Android Application
Development
MITALI PANCHAL
UNIT 1
Introduction to Android
WHAT IS ANDROID?
• Android is an open source and Linux-based
Operating System for mobile devices such as
smartphones and tablet computers.
• Android was developed by the Open Handset
Alliance, led by Google, and other companies.
WHAT IS ANDROID?
• Android offers a unified approach to application
development for mobile devices which means
developers need only develop for Android, and
their applications should be able to run on
different devices powered by Android.
• 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.
WHAT IS ANDROID?
On June 27, 2012, at the Google I/O conference,
Google announced the next Android version, 4.1 Jelly
Bean. Jelly Bean is an incremental update, with the
primary aim of improving the user interface, both in
terms of functionality and performance.
WHY ANDROID ?
HISTORY OF ANDROID
The code names of android ranges from A to N
currently, such as Aestro, Blender, Cupcake, Donut,
Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream
Sandwitch, Jelly Bean, KitKat, Lollipop and
Marshmallow. Let's understand the android history in
a sequence.
HISTORY OF ANDROID
HISTORY OF ANDROID
HISTORY OF ANDROID
ADVANTAGES OF ANDROID
Open-Source Platform:
Android is an open-source operating system (OS) that
promotes innovation and collaboration among
developers across the globe.
Customization:
Users can tailor Android devices comprehensively,
from home screen layouts to installation of tailored
ROMs, providing a bespoke and unique experience.
ADVANTAGES OF ANDROID
otification Management:
Android provides powerful notification management,
enabling users to tailor and prioritize notifications for
a simplified and efficient user experience.
File System Access
Android offers users direct access to the device’s file
system, making it easy to transfer data, manage files,
and organize content.
ADVANTAGES OF ANDROID
Google Assitant:
Google Assistant, Android’s built-in virtual assistant,
offers voice-controlled assistance, assisting users in
performing tasks, getting information, and controlling
their devices hands-free.
Multitasking Capabilities:
Android supports highly effective and robust
multitasking, allowing users to run numerous
applications simultaneously and switch between them
smoothly.
DALVIK VIRTUAL MACHINE | DVM
DALVIK VIRTUAL MACHINE | DVM
The Dalvik Virtual Machine (DVM) is an android virtual
machine optimized for mobile devices. It optimizes
the virtual machine for memory, battery life and
performance.
Dalvik is a name of a town in Iceland. The Dalvik VM
was written by Dan Bornstein.
The Dex compiler converts the class files into the .dex
file that run on the Dalvik VM. Multiple class files are
converted into one dex file.
DALVIK VIRTUAL MACHINE | DVM
The javac tool compiles the java source file into the
class file.
The dx tool takes all the class files of your application
and generates a single .dex file. It is a platform-
specific tool.
The Android Assets Packaging Tool (aapt) handles the
packaging process.
ANDROID development Framework
ANDROID DEVELOPMENT FRAMEWORK
Linux kernel
At the bottom of the layers is Linux - Linux 3.6 with
approximately 115 patches. This provides a level of
abstraction between the device hardware and it
contains all the essential hardware drivers like
camera, keypad, display etc. Also, the kernel handles
all the things that Linux is really good at such as
networking and a vast array of device drivers, which
take the pain out of interfacing to peripheral
hardware.
ANDROID DEVELOPMENT FRAMEWORK
Android Libraries
On top of Linux kernel there is a set of libraries
including open-source Web browser engine WebKit,
well known library libc, SQLite database which is a
useful repository for storage and sharing of
application data, libraries to play and record audio
and video, SSL libraries responsible for Internet
security etc.
ANDROID DEVELOPMENT FRAMEWORK
Android Libraries
• [Link] − Provides access to the application
model and is the cornerstone of all Android
applications.
• [Link] − Facilitates content access,
publishing and messaging between applications
and application components.
• [Link] − Used to access data published
by content providers and includes SQLite database
management classes.
ANDROID DEVELOPMENT FRAMEWORK
• [Link] − A Java interface to the OpenGL
ES 3D graphics rendering API.
• [Link] − Provides applications with access to
standard operating system services including
messages, system services and inter-process
communication.
• [Link] − Used to render and manipulate text
on a device display.
• [Link] − The fundamental building blocks of
application user interfaces.
ANDROID DEVELOPMENT FRAMEWORK
• [Link] − A rich collection of pre-built user
interface components such as buttons, labels, list
views, layout managers, radio buttons etc.
• [Link] − A set of classes intended to allow
web-browsing capabilities to be built into
applications.
ANDROID DEVELOPMENT FRAMEWORK
Android Runtime:
• This is the third section of the architecture and available on the
second layer from the bottom. This section provides a key
component called Dalvik Virtual Machine which is a kind of Java
Virtual Machine specially designed and optimized for Android.
• The Dalvik VM makes use of Linux core features like memory
management and multi-threading, which is intrinsic in the Java
language. The Dalvik VM enables every Android application to run
in its own process, with its own instance of the Dalvik virtual
machine.
ANDROID DEVELOPMENT FRAMEWORK
Application Framework
• The Application Framework layer provides many higher-level
services to applications in the form of Java classes. Application
developers are allowed to make use of these services in their
applications.
• The Android framework includes the following key services −
• Activity Manager − Controls all aspects of the application lifecycle
and activity stack.
• Content Providers − Allows applications to publish and share data
with other applications.
ANDROID DEVELOPMENT FRAMEWORK
Application Framework
• Resource Manager − Provides access to non-code embedded
resources such as strings, color settings and user interface
layouts.
• Notifications Manager − Allows applications to display alerts and
notifications to the user.
• View System − An extensible set of views used to create
application user interfaces.
ANDROID-SDK, ECLIPSE EMULATORS
Android SDK stands for Android Software Development Kit which is
developed by Google for Android Platform. With the help of Android
SDK, we can create android Apps easily.
Components of Android SDK:
Android SDK Tools
Android SDK tool is an important component of Android SDK. It
consists of a complete set of development and debugging tools.
ANDROID-SDK, ECLIPSE EMULATORS
Android SDK Build-Tools:
Android SDK build tools are used for building actual binaries of
Android App. The main functions of Android SDK Build tools are built,
debug, run and test Android applications. The latest version of the
Android SDK Build tool is 30.0.3. While downloading or updating
Android in our System, one must ensure that its latest version is
download in SDK Components.
ANDROID-SDK, ECLIPSE EMULATORS
Android Emulator
An Android Emulator is a device that simulates an Android device on
your system. Suppose we want to run our android application that we
code. One option is that we will run this on our Android Mobile by
Enabling USB Debugging on our mobile. Another option is using
Android Emulator. In Android Emulator the virtual android device is
shown on our system on which we run the Android application that we
code.
Thus, it simply means that without needing any physical device
Android SDK component “Android Emulator” provides a virtual device
on the System where we run our Application. The emulator’s come
with the configuration for Various android phones, tablets, Wear OS,
and Android TV devices.
ANDROID-SDK, ECLIPSE EMULATORS
In Android Virtual Emulator all functions that are feasible on real
Android mobile is works on virtual Device like:
• phone calls, text messages.
• stimulate different network speeds.
• specify the location of a device
• access on google play store and lot’s more.
But there is one disadvantage of this emulator is that. It is very slow
when System’s PC has less RAM. It works fine when a maximum GB of
RAM is present on our device.
ANDROID-SDK, ECLIPSE EMULATORS
Android SDK Platform-tools
Android SDK Platform-tools is helpful when we are working on Project
and they will show the error messages at the same time. It is
specifically used for testing. It includes:
• Android Debug Bridge (ADB), is a command-line tool that helps to
communicate with the device. It allows us to perform an action
such as Installing App and Debugging App etc.
• Fastboot allows you to flash a device with a new system image.
• Systrace tools help to collect and inspect timing information. It is
very crucial for App Debugging.
ANDROID-SDK, ECLIPSE EMULATORS
SDK Update Sites
In SDK Update Sites, some sites are embedded in it which will check
for Android SDK Updates Tools. In this, one must ensure we don’t
unclick the button below because these are checked by default which
will check for updates if we will unclick it then it doesn’t check
updates for those.
ANDROID-SDK, ECLIPSE EMULATORS
Android SDK Tools
Android SDK tool is a component of SDK tool. It consists of a set of
tools which and other Utilities which are crucial for the development
of Android Application. It contains the complete set of Debugging and
Development tools for android.
SDK Platforms
Like in this Android 11.0(R) is installed.
These are numbered according to the android version. The new
version of the SDK platform has more features and more compatible
but the old version is less compatible with fewer features. Like in
Android 11.0(R) have more compatible and have more feature but the
below versions like Android 10.0(Q), Android4.4(KitKat) have less
feature and is less compatible.
ANDROID AVD
Android Virtual Device(AVD) is a software representation of an actual
world physical android device. In other words, it doesn’t have any
physical existence but behaves like a physical android device itself. It
has everything which you think a physical machine would have.
Whether it’s storage, audio, notifications, applications, etc., all are
present in the android virtual device. Most of the android virtual
devices are self-configurable. In other words, you can configure the
hardware and the version of android which you wish to operate on.
ANDROID AVD
Android Virtual Device(AVD) is a software representation of an actual
world physical android device. In other words, it doesn’t have any
physical existence but behaves like a physical android device itself. It
has everything which you think a physical machine would have.
Whether it’s storage, audio, notifications, applications, etc., all are
present in the android virtual device. Most of the android virtual
devices are self-configurable. In other words, you can configure the
hardware and the version of android which you wish to operate on.
FEATURES OF ANDROID
Beautiful UI:
Android OS basic screen provides a beautiful and intuitive user
interface.
Connectivity:
Bluetooth, Wi-Fi, LTE, NFC and WiMAX.
Storage:
SQLite, a lightweight relational database, is used for data storage
purposes.
Messaging:
SMS and MMS
Multi-tasking:
User can jump from one task to another and same time various
application can run simultaneously.
FEATURES OF ANDROID
Wi-Fi Direct
A technology that lets apps discover and pair directly, over a high-
bandwidth peer-to-peer connection.
Multi-Language
Supports single direction and bi-directional text.
LIMITATION OF ANDROID
• Security Risks:
Open-source nature and third-party app stores can lead to increased
vulnerabilities and malware.
• Battery Consumption:
Apps and background processes can drain battery life faster
compared to some other platforms.
• Updates:
Software updates depend on device manufacturers and carriers,
causing delays and inconsistencies.
• Performance Issues:
Some devices may experience lag or slower performance due to
hardware limitations or lack of optimization.
LIMITATION OF ANDROID
• Storage Management:
Apps and cached data can quickly consume storage, especially on
devices with limited space.
• Dependency on Internet Connectivity:
Many features and apps require consistent internet access, limiting
offline functionality.
APPLICATION OF ANDROID
Android applications are usually developed in the Java language using
the Android Software Development Kit.
Once developed, Android applications can be packaged easily and
sold out either through a store such as Google Play, SlideME, Opera
Mobile Store, Amazon Appstore.
APPLICATION OF ANDROID
There are many android applications in the market. The top
categories are −
APPLICATION OF ANDROID
There are following four main components that can be used within an
Android application −
Activities:
They dictate the UI and handle the user interaction to the smart
phone screen.
Services:
They handle background processing associated with an application.
Broadcast Receivers:
They handle communication between Android OS and applications.
Content Providers:
They handle data and database management issues.
MARKET PLACE OF ANDROID
Google Play, formerly known as Android Market, is the official online
store for digital media distributed by Google. In addition to Android
apps, Google Play offers games, movies, TV shows, e-books and
audiobooks.
[Link] Play Store
[Link] Appstore
[Link] Galaxy Store
OPEN HANDSET ALLIANCE
The Open Handset Alliance (OHA) is a group of companies that work
together to make Android better and more popular. Google started
this group in 2007, and it includes phone makers, software
companies, and network providers.
Why is OHA Important?
• It helps make Android the most-used mobile system in the world.
• It ensures Android works well on many devices, from phones to
TVs.
• It keeps Android open and free for companies to customize and
use.
• It makes Android open and free, so anyone can use or modify it.