Android Overview
Android Into |
What is Android ?
Android is an open source platform designed for mobile devices, it is developed by Google. The goal of Android is "increased creativity on mobile devices, gives users a richer, more attractive and less expensive than using mobile".
Android is a mobile operating system developed by Google, based on a modified version of the Linux kernel and other open source software and designed primarily for touchscreen mobile devices such as smartphones and tablets. In addition, Google has further developed Android TV for televisions, Android Auto for cars, and Wear OS for wrist watches, each with a specialized user interface. Variants of Android are also used on game consoles, digital cameras, PCs and other electronics.
History Of Android :
First Android Device: Source wikipedia |
Initially developed by Android Inc., which Google bought in 2005, Android was unveiled in 2007, with the first commercial Android device launched in September 2008. The operating system has since gone through multiple major releases, with the current version being 9.0 "Pie", released in August 2018. The core Android source code is known as Android Open Source Project (AOSP), and is primarily licensed under the Apache License.
Chronological Events :
Date
|
Event
|
October
2003
July, 2005
December,
2006
September,
2007
2013
|
Android Inc. was founded in Palo Alto, California
Google acquired Android Inc. for at least $50 million
An early prototype had a
close resemblance to a BlackBerry phone,
with no touchscreen and a physical QWERTY keyboard
InformationWeek covered an Evalueserve study
reporting that Google had filed several patent applications in the area of mobile telephony.
Google explained that "Since these devices make our lives
so sweet, each Android version is named after a dessert"
|
List Of Available and released Versions :
Android Versions. |
Version
|
Code
name
|
Release
date
|
API
level
|
Runtime
|
Distribution
|
December 5, 2017
|
27
|
3.2%
|
|||
October 4, 2016
|
25
|
10.5%
|
|||
February 9, 2011
|
10
|
Dalvik 1.4.0
|
0.3%
|
||
July 24, 2013
|
18
|
0.5%
|
|||
July 9, 2012
|
16
|
1.2%
|
|||
November 3, 2014
|
21
|
ART 2.1.0
|
3.8%
|
||
October 5, 2015
|
23
|
22.7%
|
|||
August 22, 2016
|
24
|
20.3%
|
|||
October 31, 2013
|
19
|
Dalvik (and
ART 1.6.0)
|
8.6%
|
||
November 13, 2012
|
17
|
1.8%
|
|||
August 21, 2017
|
26
|
11.4%
|
|||
October 19, 2011
|
15
|
0.3%
|
|||
August 6, 2018
|
28
|
N/A
|
|||
March 9, 2015
|
22
|
15.4%
|
Android Architecture :
Android Architecture pictorial representation. |
It includes :
- Linux Kernel
- Libraries
- Android Runtime
- Application Framework
- Application
A screenshot of mySamsung device with Android Version and Kernel Version with device name |
Linux Kernel :
- Kernel is the heart of Android.
- Contains all low-level devices for the various hardware components of an Android device
Libraries:
- Contains code that provides the main features of an Android
- Key core Android Libraries are:
- 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.graphics – A low-level 2D graphics drawing API including colors, points, filters, rectangles and canvases.
- android.hardware – Presents an API providing access to hardware such as the accelerometer and light sensor.
- 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.media – Provides classes to enable playback of audio and video.
- android.net – A set of APIs providing access to the network stack. Includes android.net.wifi, which provides access to the device’s wireless stack.
- android.provider – A set of convenience classes that provide access to standard Android content provider databases such as those maintained by the calendar and contact applications.
- android.text – Used to render and manipulate text on a device display.
- android.util – A set of utility classes for performing tasks such as string and number conversion, XML handling and date and time manipulation.
- 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
Dalvik VM Specific Libraries :- This is a set of libraries used predominantly for interacting directly with an instance of the Dalvik VM and is unlikely to be used by most Android application developers.
Java Interoperability Library :-
Android applications
are predominantly developed using the Java programming language. The Standard
Java development environment includes a vast array of classes that are
contained in the core Java runtime libraries. These libraries provide support
for tasks such as string handling, networking and file manipulation (to name
but a few) and are both familiar to, and widely used by Java developers
regardless of platform.
The Java
Interoperability Libraries are an open source implementation (based on the
Apache Harmony project) of a subset of the Standard Java core libraries that
have been adapted and transformed for use by applications running within a
Dalvik VM.
Android Runtime
- A.K.A Dalvik Virtual Machine.
Running applications
in virtual machines provides a number of advantages. Firstly, applications are
essentially sandboxed, in that they cannot detrimentally interfere
(intentionally or otherwise) with the operating system or other applications,
nor can they directly access the device hardware.
Secondly, this enforced level
of abstraction makes applications platform neutral in that they are never tied
to any specific hardware.
The Dalvik virtual
machine was developed by Google and relies on the underlying Linux kernel for
low-level functionality. It is more efficient than the standard Java VM in
terms of memory usage, and specifically designed to allow multiple instances to
run efficiently within the resource constraints of a mobile device.
Application Framework
Android Application Framework supports the features that made us use and enjoy the wide range of applications for variety of uses.
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.
·
Package Manager – The system by which
applications are able to find out information about other applications
currently installed on the device.
·
Telephony Manager – Provides information to the
application about the telephony services available on the device such as status
and subscriber information.
·
Location Manager – Provides access to the
location services allowing an application to receive updates about location changes.
Application
Different Application to interact with Android Device |
Top Layer of Android Architecture is Application which we work on.These comprise both the native applications provided with the particular Android implementation (for example web browser and email applications) and the third party applications installed by the user after purchasing the device.
That's all about Android Intro for every new user to it.
Let's ascend and try to learn How to create Android Application ?
Keep Smiling and waiting for easy friendly tutorials :
Comments
Post a Comment
Add related suggestions and Leave comments if you want your posts to get shared