Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

What Is Android?: Vvpec 1

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

07CE050

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:

The android architecture contains five parts:

Google usually refers to the Android OS as a software stack. Each layer of


the stack groups together several programs that support specific operating system functions.
 Linux Kernel
 Libraries
 Android Runtime
 Application Framework
 Application

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.

Dalvik virtual machine:


A virtual machine is a software application that behaves as if it were an independent
device with its own operating system. You can run a virtual machine on a computer that operates
on a completely different OS than the physical machine's OS. The Android OS uses virtual
machines to run each application as its own process. That's important for a few reasons. First, no
application is dependent upon another. Second, if an application crashes, it shouldn't affect any
other applications running on the device. Third, it simplifies memory management.

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

BUILDING ANDROID APPLICATION:

To build an Android application, a developer has to be familiar with the Java


programming language. Assuming the developer is proficient in Java, he or she can download
the software developer kit (SDK) and get started. The SDK gives the developer access to
Android's application programming interface (API).
The SDK includes several tools, including sample applications and a phone emulator. Emulators
are programs that duplicate the features and functions of a specific system or device. The
Android emulator is a program that duplicates the functions of a phone running on the Android
platform. When the developer finishes building an application, he or she can test it out on the
emulator to see how the app will perform on actual hardware.
Google provides an extensive Android tutorial on its developer Web site. The company even
provides tips on basic programming steps like testing and debugging software. Experienced
developers can skip over the tutorial and go straight to building an application. Google even
provides step-by-step instructions on how to build an application named Hello World to give
developers the chance to become familiar with Android's architecture.
Google breaks down all applications into four basic building blocks building block:

 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:

 Application framework enabling reuse and replacement of components


 Dalvik virtual machine optimized for mobile devices
 Integrated browser based on the open source WebKit engine -Optimized graphics powered
by a custom 2D graphics library; 3D graphics based
on the OpenGL ES 1.0 specification (hardware acceleration optional)
 SQLite-Advances database for structured data storage
 Media support- for common audio, video, and still image formats like MPEG4, H.264, MP3,
AAC, AMR, JPG, PNG, GIF.
 Connectivity-GSM Telephony ,Bluetooth, EDGE, 3G, and WiFi
 Additional hardware support: Camera, GPS, compass, and accelerometer
 Development environment :Rich development environment including a device emulator,
tools for debugging,memory and performance profiling, and a plugin for the Eclipse IDE.

VVPEC 11
07CE050
ANDROID OS

COMPARISION WITH OTHER 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.

 Offline Integration with Google Apps:


You can access mobile versions of most Google applications on an iPhone, but with a
few exceptions (such as the Google Maps application) you'll need to do it through the Web. The
Android phone's calendar is an offline version of the much-loved Google Calendar online
application. Enter dates into your phone, and they automatically show up on your online
calendar. And while you can easily set an iPhone to sync up with calendars such as Google's
there is a beautiful simplicity with the way Android replicates the online programs you are used
to offline, in areas where you don't have service.

 Multitasking and Copy and Pasting:


The iPhone can do a lot, but it can't do a lot at once. With the exception of the iPod
music-playing program,which can run in the background while you do just about anything, the
iPhone is a multitasking weakling (somewhat ironic, considering the fact that Apple's Macintosh
computers were desktop multitasking pioneers). With Android, you can easily swipe between
programs. However, it must be noted that it is still to be seen what sort of effect this will have on
the phone's memory and performance. The perils of mobile multitasking are among the chief
problems with Windows Mobile , where you can certainly load up a ton of applications
simultaneously, it will just take forever for them to do anything. It must be noted that we really
do appreciate that Android allows you to copy and paste text. Perhaps it will motivate Apple to
finally bring that feature to the iPhone.

 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:

1. http://www.android.com - Android Official Webpage


2. http://code.google.com/android/ - Official Android Google Code Webpage
3. http://www.openhandsetalliance.com/ - Open Handset Alliance Webpage
4. http://www.androidwiki.com – Android Wiki
5. http://en.wikipedia.org/wiki/Android_(mobile_phone_platform)–Wikipedia Information
6. http://en.wikipedia.org/wiki/SQLite
7. http://en.wikipedia.org/wiki/WebKit

VVPEC 18

You might also like