What Is Android?: Vvpec 1
What Is Android?: Vvpec 1
What Is Android?: Vvpec 1
ANDROID OS
WHAT IS ANDROID?
Android is the first free, open source, and fully customizable mobile platform.Android
offers a full stack: an operating system, middleware, and key mobile applications. An important
factor that sets Android apart from most other mobile operating systems is that it's based on an
open source platform. That means Google allows anyone to look at and modify most of
Android's source code through rich set of APIs.
The first Google phone was the G1, a handset manufactured by a company based in
Taiwan called the High Tech Computer Corporation (HTC). The first service provider to support
Android in the United States was T-Mobile.
Ideally, this would mean that if a developer felt Android needed a specific feature or
capability, he or she could build it and incorporate it into the OS. The software would constantly
evolve. The Android platform didn't support many of the features of other smartphone operating
systems.
For example, Android offered no Microsoft Exchange support upon release. Many
companies use Microsoft Exchange as a platform for e-mail and scheduling applications. But
because of the open source nature of Android and Google's support for third-party developers, it
didn't take long before a company offered an application that would sync Exchange functions
with the phone.
VVPEC 1
07CE050
ANDROID OS
ANDROID ARCHITECTURE:
VVPEC 2
07CE050
ANDROID OS
LINUX KERNEL:
The base of the stack is the kernel. Google used the Linux version 2.6 OS to build Android's
kernel, which includes Android's memory management programs, security settings, power
management software and several hardware drivers. Drivers are programs that control hardware
devices. For example, the HTC G1 has a camera. The Android kernel includes a camera driver,
which allows the user to send commands to the camera hardware.
The Linux Kernel supports Device drivers,Memory management,security settings.It also includes
WiFi drivers,Keypad drivers,Flash Memory drivers,Binder driver,Audio driver,etc.
VVPEC 3
07CE050
ANDROID OS
ANDROID RUNTIME:
Core Libraries:
Android runtime Located on the same level as the libraries layer, includes Core Libraries
and Dalvik Virtual Machine. The Android runtime layer includes a set of core Java libraries --
Android application programmers build their apps using the Java programming language.
VVPEC 4
07CE050
ANDROID OS
APPLICATION FRAMEWORK:
The next layer is the application framework. This includes the programs that manage
the phone's basic functions like resource allocation, telephone applications, switching between
processes or programs and keeping track of the phone's physical location. Application developers
have full access to Android's application framework. This allows them to take advantage of
Android's processing capabilities and support features when building an Android application.
Think of the application framework as a set of basic tools with which a developer can build
much more complex tools.
Application framework support Activity manager,Window manager,Content
provider,ViewSystem,Package manager,Telephony manager,Resource manager,Location
manager,Notification manager.These are explained below:
Activity manager: An Activity Manager that manages the lifecycle of applications and
provides a common navigation backstack.
Resource manager: A Resource Manager, providing access to non-code resources such as
localized strings, graphics, and layout files.
Notification manager: A Notification Manager that enables all applications to display custom
alerts in the status bar.
Telephony manager: Telephony manager manages the subscriber’s detail, available network,
incomming & outgoing calls’ details.
View system: A rich and extensible set of Views that can be used to build an application,
including lists, grids, text boxes, buttons, and even an embeddable web browser.
Content Providers: Content providers enable applications to access data from other
applications (such as Contacts), or to share their own data.
Pacakage manager: Manages the software packages installed and deleted from the mobile
system.
Window manager:Manages the display window of mobile.
Location manager:Manages the location of of the device.
VVPEC 5
07CE050
ANDROID OS
LIBRARIES:
Android includes a set of C/C++ libraries used by various components of the Android
system. These capabilities are exposed to developers through the Android application
framework. Some of the core libraries are listed below:
System C library - a BSD-derived implementation of the standard C system
library (libc), tuned for embedded Linux-based devices
Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and
recording of many popular audio and video formats, as well as static image files, including
MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface Manager - manages access to the display subsystem and seamlessly composites 2D
and 3D graphic layers from multiple applications
LibWebCore - a modern web browser engine which powers both the Android browser
and an embeddable web view
SGL - the underlying 2D graphics engine
3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either
hardware 3D acceleration (where available) or the included, highly optimized 3D software
rasterizer
FreeType - bitmap and vector font rendering
SQLite - a powerful and lightweight relational database engine available to all applications.
VVPEC 6
07CE050
ANDROID OS
APPLICATIONS:
At the top of the stack are the applications themselves. This is where you find the basic
functions of the device such as making phone calls, accessing the Web browser and accessing
your contacts list.It supports all the built in applications as well as we can Built application using
Java Language.We can also modify the built.Some of the common appications are
maps,calender,etc.
VVPEC 7
07CE050
ANDROID OS
Activities:
Whenever an application displays a screen to the user, that's an activity. For example, a
map application could have a basic map screen, a trip planner screen and a route overlay screen.
That's three activities.
Intents:
Intents are the mechanisms for moving from one activity to another. If you were to plot a
trip using our example of the mapping application, an intent would interpret your input and
activate the route overlay screen. Android also allows for broadcast intent receivers, which are
intents triggered by external events like moving to a new location or an incoming phone call.
Services:
A service is a program that runs on its own without a user interface. For example, let's
say you are participating in a Softrace event. Midway through the race, you decide you want to
listen to music as you burn up the track. You can switch over to a media player application and
start a song while Softrace continues to track your progress. If Softrace were simply an activity,
you would have ended the application as soon as you switched to the media player.
Content provider:
A content provider allows an application to share information with other applications.
This allows developers to work together to create a suite of applications that are more robust and
complex than each individual component. There are other considerations developers must keep
in mind while building applications. They include Android's graphics rendering engine, process
management software, user interface support and other technical details.
VVPEC 8
07CE050
ANDROID OS
ANDROID APPLICATIONS:
Aloqa:
Aloqa is a mobile service that proactively notifies you of interesting places, events, and
Facebook friends near you. Instead of having to search, you can just look at your phone and see
your favorite hotspots, friends, events of interest, and recommended bargains close by.
Whenever You Want. Wherever You Are.
Spotify:
Spotify is a digital music service that gives you access to millions of songs. Online the
service is free, via your mobile you need to signup for a premium membership.
Place Directory:
Places Directory allows you to browse nearby places in categories like Restaurants,
Movie Theaters, Hotels and Banks. You’ll see distance and directions to the destination, and if
you tap on the listing, you will receive ratings and photos. You can also call the business or view
its location on Google Maps.
Rotary Dialer:
If you bored of your traditional touch button keypad? Roll back the years and download
this retro Rotary Dialer for Android.
Google Maps:
Google Maps on Android uses the built-in GPS to show your location on the map. And if
GPS reading is temporarily unavailable, My Location shows your approximate location on the
map. So you can always find where you are.
Voice Search:
You can start searching by voice with just the touch of a button. On the home screen
search widget, look for the microphone button right next to the search box and the search button.
Press that button, wait for the “Speak now” prompt, and then say your query. You’ll soon see
search results formatted for the Android browser.
Compare everywhere & Go cart:
CompareEverywhere and GoCart are two different applications that let you compare
prices and read reviews for merchandise while you're in the store. You take a picture of the
item's bar code with the phone's camera. These applications identify the item and aggregate
reviews and prices from different sources.
Locale:
Locale is an application that taps into Android's GPS support. First, you identify various
locations you frequent using Google Maps. Then, you create a list of phone settings for each
location. For example, at work or in class you'd probably want your phone's ring tone to be
appropriate and at a low volume. Once you create the settings for each location, your phone
VVPEC 9
07CE050
ANDROID OS
automatically switches to the proper setting based on your current location. Using Locale, you
never have to worry about silencing your phone when you walk into your favorite movie theater!
Softrace:
The developers of the Softrace application wanted to build a program that inspires people
to maintain an active lifestyle. Softrace lets people set up footraces, bicycle races and other
competitions using the Google Maps function. Participants can travel to a race destination, begin
the race and try to make the best time. They can compare their results with those of other
participants.
VVPEC 10
07CE050
ANDROID OS
ANDROID FEATURES:
VVPEC 11
07CE050
ANDROID OS
IPHONE VS ANDROID:
Background supported:
Android sets it apart from the iPhone -- developers can create complex applications that
run in the background of other applications. Apple limits iPhone applications to the foreground --
if you switch to a different application, the first application you were in stops working until you
return to it. This feature limits the types of applications developers can build for the iPhone.
Android allows developers more extensive access to background processes.
No Multitouch:
The G1 uses a capacitive touchscreen. This is the same highly sensitive type of screen
found on the iPhone (most touchscreen phones use mostly inferior resistive touchscreens), and
should allow the G1 to compete when it comes to touch sensitivity. But the G1 does not have the
iPhone's multitouch capability. While the G1 attempts to make up for it by utilizing "long-
touches" to bring up deep menus, it loses out on the huge amount of functionality (and coolness)
that comes from the iPhone's ability to sense two fingers at once.
VVPEC 12
07CE050
ANDROID OS
SYMBIAN VS ANDROID:
API Language used:
Android uses Java language,while in Symbian C++ is used.Symbian uses J2ME also but
for the subset of applations.
Kernel:
Android uses Linux kernel with minor changes,while in Symbian kernel is proprietary.
Debuuging/Investigation tools:
In Android standard UNIX tools while in Symbian not a lot.
Security:
In Andriod Each process runs as its own user. Unclear how this prevents access to certain
APIs that could do destructive things.While in Symbian Processes have capabilities and can only
access APIs appropriate to their capabilities. Applications must be certified and are then signed
such that they cannot access APIs beyond their capabilities.
VVPEC 13
07CE050
ANDROID OS
CRITISISM:
Android uses Linux as its kernel, but according to Google, it is not a conventional Linux
distribution. It does not have a native X Window System, nor does it support the full set of
standard GNU libraries like its system libraries (GNU C Library). This specific modification
makes it difficult to reuse existing Linux applications or libraries on Android.
Android does not use established Java standards, i.e. Java SE and ME. This prevents
compatibility among Java applications written for those platforms and those for the Android
platform. Android only reuses the Java language syntax, but does not provide the full-class
libraries and APIs bundled with Java SE or ME.
Android does not officially allow apps to be installed on, nor run from, an SD card. Current
Android products such as the HTC Dream and Magic have limited onboard memory and many
users feel restricted by this lack of functionality. Several unsupported modifications exist,
however, to give the user this capability.
Android is criticized for its multitasking abilities and the lack of a significant driver base. For
these reasons ARM and Real have expressed doubt that it will gain a major market share as a
netbook OS.
Although a Native Development Kit does exist, it does not allow access to any of the phone's
hardware. Consequently Android applications must be largely written in Java. This negatively
impacts performance and battery life.
VVPEC 14
07CE050
ANDROID OS
ADVANTAGES:
Open - Android allows you to access core mobile device functionality through standard API
calls.
All applications are equal - Android does not differentiate between the phone's basic and third-
party applications -- even the dialer or home screen can be replaced.
Breaking down boundaries - Combine information from the web with data on the phone --
such as contacts or geographic location -- to create new user experiences.
Fast and easy development - The SDK contains what you need to build and run Android
applications, including a true device emulator and advanced debugging tools.
VVPEC 15
07CE050
ANDROID OS
DISADVANTAGES:
Security - Making source code available to everyone inevitably invites the attention of
hackers.
Open Source - A disadvantage of open-source development is that anyone can scrutinize the
source code to find vulnerabilities and write exploits.
Login - Platform doesn't run on an encrypted file system and has a vulnerable log-in.
Incompetence - Google’s dependence on hardware and carrier partners puts the final product
out of their control.
VVPEC 16
07CE050
ANDROID OS
CONCLUSION:
Android has been criticized for not being all open-source software despite what was
announced by Google. Parts of the SDK are proprietary and closed source, and some believe this
is so that Google can control the platform. Software installed by end-users must be written in
Java, and will not have access to lower level device APIs. This provides end-users with less
control over their phone's functionality than other free and open source phone platforms, such as
OpenMoko.
With all upcoming applications and mobile services Google Android is stepping into the
next level of Mobile Internet. Android participates in many of the successful open source
projects. That is, architect the solution for participation and the developers will not only come
but will play well together. This is notable contrast with Apple and other companies, where such
architecture of participation is clearly belated.
The first Android based official devices may well be launched sometime in the early half of
2009. Obviously, that's an age away when it comes to handset design, and Android may well find
itself competing against the forthcoming Nokia touch screen phones and maybe even the iPhone.
VVPEC 17
07CE050
ANDROID OS
REFERENCES:
VVPEC 18