0% found this document useful (0 votes)
66 views11 pages

Android Unit 1

1) Android is an open-source operating system developed by Google for mobile devices like smartphones and tablets. 2) It uses Java programming language and is based on the Linux kernel. 3) The goal of Android is to improve the mobile experience for end users through successful real-world products.

Uploaded by

prajwalchin123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views11 pages

Android Unit 1

1) Android is an open-source operating system developed by Google for mobile devices like smartphones and tablets. 2) It uses Java programming language and is based on the Linux kernel. 3) The goal of Android is to improve the mobile experience for end users through successful real-world products.

Uploaded by

prajwalchin123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

UNIT I

What is Android

Before learning all topics of android, it is required to know what is android.


Android is a software package and linux based operating system for mobile devices such as
tablet computers and smartphones.
It is developed by Google and later the OHA (Open Handset Alliance). Java language is mainly
used to write the android code even though other languages can be used.
The goal of the android project is to create a successful real-world product that improves the
mobile experience for end users.
There are many code names of android such as Lollipop, Kitkat, Jelly Bean, Ice cream
Sandwich, Froyo, Eclair, Donut etc which are covered in the next page.

Why Android ?
History of Android
The history and versions of android are interesting to know. The code names of android ranges
from A to J currently, such as Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread,
Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat and Lollipop. Let's understand the
android history in a sequence.
1) Initially, Andy Rubin founded Android Incorporation in Palo Alto, California, United States
in October, 2003.
2) In 17th August 2005, Google acquired android Incorporation. Since then, it is in the subsidiary
of Google Incorporation.
3) The key employees of Android Incorporation are Andy Rubin, Rich Miner, Chris White
and Nick Sears.
4) Originally intended for camera but shifted to smart phones later because of low market for
camera only.
5) Android is the nick name of Andy Rubin given by coworkers because of his love to robots.
6) In 2007, Google announces the development of android OS.
7) In 2008, HTC launched the first android mobile.

Versions of Android
Code name Version numbers Release date

No codename 1.0 September 23, 2008

No codename 1.1 February 9, 2009

Cupcake 1.5 April 27, 2009

Donut 1.6 September 15, 2009

Eclair 2.0 - 2.1 October 26, 2009

Froyo 2.2 - 2.2.3 May 20, 2010

Gingerbread 2.3 - 2.3.7 December 6, 2010

Honeycomb 3.0 - 3.2.6 February 22, 2011


Ice Cream Sandwich 4.0 - 4.0.4 October 18, 2011

Jelly Bean 4.1 - 4.3.1 July 9, 2012

KitKat 4.4 - 4.4.4 October 31, 2013

Lollipop 5.0 - 5.1.1 November 12, 2014

Marshmallow 6.0 - 6.0.1 October 5, 2015

Nougat 7.0 August 22, 2016

Nougat 7.1.0 - 7.1.2 October 4, 2016

Oreo 8.0 August 21, 2017

Oreo 8.1 December 5, 2017

Pie 9.0 August 6, 2018

Android 10 10.0 September 3, 2019

Android 11 11 September 8, 2020

Android 12 12 October 4, 2021

Android 12L 12.1 March 7, 2022

Android 13 13 August 15, 2022

What is Open Handset Alliance (OHA)


It's a consortium of 84 companies such as google, samsung, AKM, synaptics, KDDI, Garmin,
Teleca, Ebay, Intel etc.
It was established on 5th November, 2007, led by Google. It is committed to advance open
standards, provide services and deploy handsets using the Android Platform.
Characteristics and Features of Android
● Beautiful UI
Android OS basic screen provides a beautiful and intuitive user interface.
● Connectivity
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX.
● Storage
SQLite, a lightweight relational database, is used for data storage purposes.
● Media support
H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI,
Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP.
● Messaging
SMS and MMS
● Web browser
Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript
engine supporting HTML5 and CSS3.
● Multi-touch
Android has native support for multi-touch which was initially made available in
handsets such as the HTC Hero.
● Multi-tasking
User can jump from one task to another and same time various application can run
simultaneously.
● Resizable widgets
Widgets are resizable, so users can expand them to show more content or shrink them to
save space.
● Multi-Language
Supports single direction and bi-directional text.
● GCM
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
A technology that lets apps discover and pair directly, over a high-bandwidth peer-to-peer
connection.
● Android Beam
A popular NFC-based technology that lets users instantly share, just by touching two
NFC-enabled phones together.
Popular platforms of the Mobile OS
1. Android OS: Launched in 2008 by google.

2. Bada (Samsung Electronics): Launched in 2010 by Samsung.

3. BlackBerry OS : Developed by Research In Motion (RIM). This operating system was


designed specifically for BlackBerry handheld devices.

4. iPhone OS / iOS: Developed by the Apple inc for the use on its device.

5. Symbian OS : Developed by Symbian Ltd in 1998

6. Windows Mobile OS : Developed by Microsoft

7. Harmony OS : The harmony operating system is the latest mobile operating system that was
developed by Huawei for the use of its devices.

8. Palm OS : Developed by Palm Ltd . It was introduced in 1996. Palm OS is also known as the
Garnet OS.

9. WebOS (Palm/HP) : Developed by Palm.

Characteristics of other mobile platforms


Even though the functionality of an operating system used in computers and Smartphones are the
same, certain characteristics of a Smartphone operating system are different from the ones used
in computers. The characteristics that a Smartphone operating system should comprise are as
follows:

(i) Resource-limited hardware: Smartphones should be able to support various applications. It


should also provide facility to access Internet. But to meet these requirements, Smartphones have
limited memory and processing power when compared to the desktop PCs and Laptops. Thus,
the operating system must be careful in using hardware resources especially memory. It should
not only utilize less memory but also consist of architecture that provides support for
applications to limit their use of memory. It should also have the capability to handle
low-memory situations gracefully.

(ii) Robustness: A user expects a mobile operating system to be robust. This means it should be
strong and unlikely to fail or crash. The device must not only be designed to avoid crash, but
must also provide support functions and policies. These support functions and policies allow the
device to handle 239 Advanced Topics in Operating Systems application errors and
out-of-memory situations, without hampering the functionalities of the Smartphone.
(iii) User interface for limited user hardware: The operating system should implement a user
interface environment that is efficient and intuitive to use, despite the smaller screen and limited
user input capabilities of the Smartphone. Furthermore, the screen sizes and input capabilities
vary between different models of Smartphones, so the User Interface architecture should be
flexible, such that it can be customized for the various user interface objects.

(iv) Library support: Smartphone operating systems should contain middleware libraries and
frameworks with APIs that implement and abstract the functionality of the features of the
Smartphone. The purpose is to provide functional consistency and to ease the software
development. Middleware library and framework is a software layer that acts as a mediatory
between the application and the system’s operating system. The middleware framework consists
of a set of components that connects the application with the underlying OS. Examples of
Smartphone middleware include libraries and frameworks for email, SMS, MMS, Bluetooth,
cryptography, multimedia, User Interface features, and GSM or GPRS, which provide more
support for Smartphone features.

Android Architecture
android architecture or Android software stack is categorized into five parts:

1. linux kernel
2. native libraries (middleware),
3. Android Runtime
4. Application Framework
5. Applications
Android operating system is a stack of software components which is roughly divided into five
sections and four main layers as shown below in the architecture diagram.
Linux kernel
It is the heart of android architecture that exists at the root of android architecture. Linux kernel
is responsible for device drivers, power management, memory management, device management
and resource access.
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.

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 Libraries
This category encompasses those Java-based libraries that are specific to Android
development. Examples of libraries in this category include the application framework
libraries in addition to those that facilitate user interface building, graphics drawing
and database access. A summary of some key core Android libraries available to the
Android developer is as follows −
​ android.app − Provides access to the application model and is the cornerstone of
all Android applications.
​ android.content − Facilitates content access, publishing and messaging between
applications and application components.
​ android.database − Used to access data published by content providers and
includes SQLite database management classes.
​ android.opengl − A Java interface to the OpenGL ES 3D graphics rendering API.
​ android.os − Provides applications with access to standard operating system
services including messages, system services and inter-process communication.
​ android.text − Used to render and manipulate text on a device display.
​ android.view − The fundamental building blocks of application user interfaces.
​ android.widget − A rich collection of pre-built user interface components such as
buttons, labels, list views, layout managers, radio buttons etc.
​ android.webkit − A set of classes intended to allow web-browsing capabilities to
be built into applications.
Having covered the Java-based core libraries in the Android runtime, it is now time to turn our
attention to the C/C++ based libraries contained in this layer of the Android software stack.

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.
The Android runtime also provides a set of core libraries which enable Android application
developers to write Android applications using standard Java programming language.
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.
​ 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.

Applications
You will find all the Android application at the top layer. You will write your application to be
installed on this layer only. Examples of such applications are Contacts Books, Browser, Games
etc.

Features of Android Studio

● It has a flexible Gradle-based build system.


● It has a fast and feature-rich emulator for app testing.
● Android Studio has a consolidated environment where we can develop for all Android
devices.
● Apply changes to the resource code of our running app without restarting the app.
● Android Studio provides extensive testing tools and frameworks.
● It supports C++ and NDK.
● It provides built-in supports for Google Cloud Platform. It makes it easy to integrate
Google Cloud Messaging and App Engine.
Features of Eclipse
● The Eclipse Installer
● Automatic Error Reporting
● Git Flow
● Docker Tools
● JDT Improvements
● e4 Tools
● C/C++ Launching
● UI Monitoring
● Platform Improvements
● Mac Layout

Features of Visual Studio


● Support for multiple programming languages
● Intelli-Sense
● Cross-Platform Support
● Extensions and Support
● Repository
● Web-Support
● Hierarchy Structure
● Improving Code
● Terminal Support
● Multi-Projects
● Git Support
● Git Support

Features of NetBeans
● Code Development.
● Code Editing.
● Debugging.
● Deployment Management.
● For Developers.
● Graphical User Interface.
● Integrated Development Environment.
● Mobile Development.

Android Languages Target Runs On Audience License Price


Development OS
IDEs
Android Java Android Windows Experienced Freeware Free
Studio C MacOS
C++ Linux
Kotlin
Eclipse Java Android Any OS Professional Eclipse Free
C iOS supportin Developers Public
C++ Linux g Java License
C# MacOS
JavaScript Windows
Python
more
Visual Studio C++ Cross-Pla Windows Experienced Proprietary, Free to
(with C tform MacOS Visual $2,999+
Xamarin) C# Windows Linux Studio Code
Visual Android is Open
Basic iOS Source MIT
PHP more
JavaScript
more
NetBeans Java Cross-plat Windows Professional CDDL 1.0 Free
C form MacOS Developers and GPL2
C++ Linux
HTML Solaris
PHP
JavaScript
others

You might also like