Is it a programming language (?) Or Is it an operating system (?)
Android is a software package and Linux based Operating System for mobile devices.
such as tablet computers and smart phones.
It is developed by Google and later the OHA (Open Handset Alliance).
Open Handset Alliance[OHA]
It is a consortium of 84 companies.
such as Google, Samsung, AKM, synaptic, KDDI, Garmin, HTC, LG Electronics, 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.
Java language is mainly used to write the android code even though other languages can also be used.
1)It is open-source:-
Google is giving this Android as open source ( freely available for manufactures/ developer)
2)Anyone can customize the Android Platform.
3)It provides many interesting features like weather details, live RSS (Really Simple Syndication) feeds etc.
4)It provides support for messaging services(SMS and MMS(Multimedia Messaging Service), web browser, storage (SQLite), connectivity (GSM(Global System for Mobile Communications), CDMA(Code Division Multiple Access), Blue Tooth, Wi-Fi etc.), media, handset layout etc.
There are many types android applications in the market.
The top categories are:
Music and Audio
Media and Video
Travel and Local etc
The history and versions of android are interesting to know.
The code names of android ranges from A to P currently such as
Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch,Jelly Bean ,KitKat,LolliPop ,MarshMellow,Nougat,Oreo,Pie.
Initially, Andy Rubin founded Android Incorporation in 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.
Code Name is Pie
API Level 28
Release Date is August 6, 2018
Android software stack (also known as android architecture) includes
2)Native libraries (middleware)
Android operating system is a stack of software components which is roughly divided into five sections and four main layers as shown in the architecture diagram.
Applications are the topmost layer in the Android architecture.
Several standard applications comes pre-installed with every device.
SMS Client App,Dialer,Web Browser, Contact Manager
It contains the apps which are installed into your device.
1.1. Pre defined apps comes with SDK
( Home, gallery, camera, contacts , messaging etc.. )
1.2. Apps installed from play store
1.3. Apps installed from PC TO mobile
It is API , provides some predefined services for developing android apps
It is also used to integrate the predefined apps to the user defined apps.
Key Blocks of Application Framework:
It helps complete the activity lifecycle of applications.
It is used to accomplish data sharing between applications.
It is used to take care of all voice calls.
It is used to bring about the Locations obtained from GPS or cell towers.
It is used to manage the different resources types in Android applications.
On the top of linux kernel, their are Native libraries such as WebKit, OpenGL, FreeType, SQLite, Media, C runtime library (libc) etc.
The WebKit library is responsible for browser support, SQLite is for database, FreeType for font support, Media for playing and recording audio and video formats.
Android Runtime contains DalvikVirtual machine and Core Java libraries.
•It is a form of Java Virtual Machine used in Android devices to run apps and is enhanced for low processing power and low memory backgrounds.
Dalvik Virtual Machine ( Used to give .apk file )
Every android application requires .apk file ( .exe in other environment )
Android Runtime (ART):-
•Android Runtime has several benefits over DalvikVM such as AOT (Ahead Of Time) compilation and enhanced garbage collection.
•Core Java Libraries:-
These Libraries provides most of the functionalities defined in the Java SE Libraries.
Android operating system’s bottom layer is Linux Kernel.
is operating system.
It interacts with the hardware and it contains all the important hardware drivers.
•It provides the basic system functionality.
•It provides a collection of device drivers which are useful while interfacing with other devices.
•It is also responsible for Network Stack and Hardware Abstraction.
Mobile App Development:-
Apps(Software) -- Hardware
Programming Language( developement )
Mobile phones (Electronic Device)
Hardware + Operating System + softwares (apps)
Android is used to develop mobile based applications specially into Smartphone.
Phone is categorized in two category
1) Normal phone
2) Smart phone
1)Normal phone is basically used only for communication
2)Smart Phone is a high-end mobile phone which is having advanced computing abilities with more features than normal phone
The features of all the above Smart Phones :
ØPortable media players
ØLow end compact digital cameras
ØPocket Video Cameras
ØGPS Navigation Unit
ØHigh resolution touch screens
and many more application which are used in our daily activities
Many mobile phone vendors released their smart phones.
Hardware + Operating system + Apps
Nokia (Symbian ) + C/C++
Samsung ( Bada) + C/C++
Apple (Iphone)-- ( ios ) objetive c
Windows ( Windows mobile edition ) ( C )
BlackBerry ( BlackBerry os ) (C/Java)
Each of these smart phone vendors are having their own app store where the application developers can post their developed applications and make business.
And end users can download those applications and can use them.
Commonly used Application Stores are:-
Nokia ( Nokia OVI )
Samsung (Samsung appstore )
Apple Corporation (itunes )
The disadvantage of these smart phones are each smart phone uses its own operating system and machine.
So once you develop an application you can’t run in another device.
This problem is referred as ‘Platform Dependency’ .
These all Vendors were using c and c++
To provide platform independency java was introduced.
Hello.java(source code ) --> javac ( compiler ) --- Hello.class ( byte code )
byte code is platform independent.
-- Google realised the importance of platform independency in mobile phones ( smart phones ) and started to develop such environment.
-- JSE ( API ) is used to develop pc based application not mobile based.
-- Google has designed its own API to develop mobile base apps (Android API )
-- Android API is similar to J2SE API.
-- No , android is not a programming language.
-- It uses java as a programming language.
--No, android is not an operating system.
-- Android uses LINUX KERNEL as an operating system.
-- For developing java apps we use JDK
For developing android apps we use Android SDK ( Software Development Kit )
Google started its own application store called Android market in 2008.
Any Android developer can take a developer account for a nominal charges of 25$
By 2009 there was only 2000 apps were there in market
By 2013 there are more than 7 lacks application are there in play store
Android is not only into smart phone
-- Tablet pcs
-- Smart tvs
-- Smart cameras
-- Smart goggles
-- Smart watches
more than 8 lacs gadget in android will be sold everyday.
Android occupied 76% smartphone share market.
-- Smart Phone and Normal Phone
-- Application Store
-- the location where all the developed applications will reside
-- all smartphone vendors are having their own application store
-- Android is having its own application store called ' Android Market ',
-- Android is renamed to Google play ( play store ) (It is a new name)
-- Android Apps
-- Any application may be of two types
CUI (Character User Interface )
GUI (Graphical User Interface )
Android supports only GUI applications
In java, GUI is called as Frame ( Window )
In Android, GUI is called as Activity ( USER INTERFACE )
- In Android, Activity can be designed by using two ways
1. Programming approach ( like java )
2. xml approach ( Like html )
Preffered Approach is (Xml Approach)
Android Studio IDE
For downloading the latest version