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 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, Ecliar, Donut etc. which is
covered in next page.
What is Open Handset Alliance (OHA?)
It's a consortium of 84 companies such as google, Samsung,
AKM, synaptics, KDDI, Garmin, Telecast, 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 Plateform.
Features of Android
After learning what is android, let's see the features of
android. The important features of android are given below:
1) It is open-source.
2) Anyone can customize the Android Platform.
3) There are a lot of mobile applications that can be
chosen by the consumer.
4) It provides many interesting features like weather
details, opening screen, live RSS (Really Simple Syndication) feeds etc.
It provides support for messaging services (SMS and MMS),
web browser, storage (SQLite), connectivity (GSM, CDMA, Blue Tooth, and Wi-Fi
etc.), media, handset layout etc.
Categories of Android applications
There are many android applications in the market. The top
categories are:
- Entertainment
- Tools
- Communication
- Productivity
- Personalization
- Music
and Audio
- Social
- Media
and Video
- Travel
and Local etc.
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.
Android Architecture
Android architecture or Android software
stack is categorized into five parts:
- Linux
kernel
- native
libraries (middleware),
- Android
Runtime
- Application
Framework
- Applications
1)
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.
2) Native Libraries
On the top of Linux kernel, there are Native libraries such as Web Kit, OpenGL, Free Type, SQLite, Media, C
runtime library (libc) etc.
The Web Kit library is responsible for browser
support, SQLite is for database, Free Type for font support, Media for playing
and recording audio and video formats.
3) Android Runtime
In android runtime, there are core libraries and
DVM (Dalvik Virtual Machine) which is responsible to run android application.
DVM is like JVM but it is optimized for mobile devices. It consumes less memory
and provides fast performance.
4) Android Framework
On the top of Native libraries and android runtime,
there is android framework. Android framework includes Android API's such as UI (User
Interface), telephony, resources, locations, Content Providers (data) and
package managers. It provides a lot of classes and interfaces for android
application development.
5) Applications
On the top of android framework, there are
applications. All applications such as home, contact, settings, games, browsers
are using android framework that uses android runtime and libraries. Android
runtime and native libraries are using Linux kernal.
Android Core Building Blocks
An android component is simply a piece of
code that has a well-defined life cycle e.g. Activity, Receiver, and Service
etc.
The core building blocks or fundamental components of android are activities, views, intents, services,
content providers, fragments and AndroidManifest.xml.
Activity
An activity is a class that represents a single
screen. It is like a Frame in AWT.
View
A view is the UI element such as button, label,
text field etc. Anything that you see is a view.
Intent
Intent is used to invoke components. It is mainly
used to:
- Start
the service
- Launch
an activity
- Display
a web page
- Display
a list of contacts
- Broadcast
a message
- Dial
a phone call etc.
Prerequisites
For Creating Android App In Android Studio:
Android Studio:
Android Studio is the official IDE (integrated
development environment) for developing Android Apps by Google. It is available
for free download on Windows, Mac OS X and Linux.
Check out our Android Studio guide to get started with it.
JAVA For Android:
JAVA is a programming
language which is most commonly used in Android App Development. Before you
start creating Android App you will need to learn Object Oriented Java. Check out our JAVA for Android section to learn it.
Android UI Basics:
You will also need to
be familiar with Android UI
basics. Here you will get familiar with layout, Adapter, ViewGroup and lots more cool
stuff you needed to learn before start creating App.
Android Programming:
Here in Android
Programming tutorial, you will walk through the fundamental programming
topics of Android App Development. You will need this to learn for
creating advance Android App.