ANDROID Report New
ANDROID Report New
Prepared by
Anil Kumar Agrawal
B. Tech (I.T.) Final Year
Roll No.- 0719313005
Meaning Of Android
Android comes from. “The word derives from ανδρός, the genitive of the Greek ανήρ
anēr, meaning "man", and the suffix -eides, used to mean "of the species; alike"…”
(Android, 2009).
Android derived from Greek word andro- "human" + eides "form, shape." We can
say it , an automaton in the form of a human being. Its just the meaning of word
‘Android’.
What is Android?
• A software platform and operating system for mobile devices
License
Android is under version 2 of the Apache Software License (ASL).
Hardware
Android is not a single piece of hardware; it's a complete, end-to-end software platform
that can be adapted to work on any number of hardware configurations. Everything is
there, from the bootloader all the way up to the applications.
Operating System(s)
• Android uses Linux for its device drivers, memory management, process
management, and networking.
• The next level up contains the Android native libraries. They are all
written in C/C++ internally, but you’ll be calling them through Java
interfaces. In this layer you can find the Surface Manager, 2D and 3D
graphics, Media codecs, the SQL database (SQLite), and a native web
browser engine (WebKit).
• Dalvik Virtual Machine. Dalvik runs dex files, which are coverted at
compile time from standard class and jar files.
Network Connectivity
It supports wireless communications using:
3G
Edge
Security
Android is a multi-process system, in which each application (and parts of the system)
runs in its own process. Most security between applications and the system is enforced at
the process level through standard Linux facilities, such as user and group IDs that are
assigned to applications.
Additional finer-grained security features are provided through a "permission"
mechanism that enforces restrictions on the specific operations that a particular process
can perform, and per-URI permissions for granting ad-hoc access to specific pieces of
data.
September 23rd,
2008
July 2005 August
November Android 1.0 SDK
Google 28th, 2008
12th, 2007 release
purchased a Android
Early look Developers have
little known Market
SDK access to first 1.0
company called announced
released compatible SDK.
Android Inc.
September 23rd,
April 17th, 2008 October 21st,
November 5th, 2008
Android Developer 2008
2007 Open T-Mobile G1
Challenge I. $5 Android Open
Handset World's first
million in total Source Project
Alliance Android-powered
awarded to Source code is
announces phone
developers for released
Android announced.
great Android
applications
Rubin and his minions (I love calling them that. Sorry, guys.) began developing a Linux-
based operating system for cell phones and other mobile devices. Their main marketing
targets were handset makers and carriers. Their winning pitch? An easy operating system
that was flexible and upgradeable at the same time.
In December 2006, rumors surfaced of Google's entry into the cell phone market, soon
followed by rumors of a new handset, branded by Google.
On the 5th of November in 2007, several companies, including Google, HTC, Motorola,
Intel, Qualcomm, Sprint Nextel, T-Mobile, and NVIDIA, came together to form the Open
Handset Alliance. They stated their goal for developing open standards for mobile
devices, and unveiled their new product: Android, a mobile device platform built on the
Linux kernel.
Android has been available as open-source software since October 2008. Under the
Apache License, private companies could add on their own applications and extensions
and sell them, without having to submit them to the open-source community (darn).
So, now you know how this amazing peice of technology came together. Next, we'll talk
about some phones that feature Google Android.
Then there's the famous T-Mobile G1. It comes in three colors, and is pre-loaded with
Android. We have another article coming up dedicated to it, so stay updated!
Basic Applications
The upcoming phones from Openmok and Kogan are expected to have the same basic
applications as Google Android. If this is the case, here's what your new Kogan Arora,
Neo FreeRunner, or whatever other new Android phone you buy will feature:
GMail
Google Calendar
YouTube
Google Talk
Maybe they'll replace the Google applications with their own, but I've found that in
adding a new application, Google services are the easiest to use on Android.
Architecture of Android
From the past, we all know that Linux is not the friendliest OS to use for the normal user.
Therefore to keep their goal of making the OS easy for users, Google had to apply many
layers to Android to keep it easy to develop for. There are 5 main layers to the Android
including the Linux Kernel.
The Linux Kernel is like most kernels of operating systems. It is a layer that talks directly
to hardware for the operating system. It supplies all the drivers for the different types of
components that may be on the hardware. These drivers include: Display Drivers,
Camera Drivers, Keypad Drivers, Wi-Fi Drivers, Flash Memory Drivers, Audio Drivers,
Binder (IPC) Drivers, and Power Management Drivers (Google Inc., 2009). It is based off
the Linux version 2.6 core systems.
This diagram shows the major components of the Android operating system.
The next layer is called the Android Runtime. It includes libraries that allow access and
functionality to the Linux Kernel from the Android SDK using the Java programming
language. This layer is the translator between the next layer, application layer, and the
operating system which is part of the kernel. It allows the Java programming language
code to be translated in machine language that can be used by the kernel or OS. This
layer is very important to the system because it is the translation of the software
development and it supplies a virtual machine called the Dalvik virtual machine to each
application.
This allows each application to run in parallel which is a feature that is not in most mobile
phones including Android biggest competition, iPhone OS.
The next layer is called the Libraries. It supplies the 2D and 3D graphics along with the
video encoders and codecs and also the application’s databases which are saved in
SQLite. Last but not least is the layer that provides the Webkit, which produces the
beautifully scaled sized websites to the user on the user interface of the handset. These
libraries include: System C, Media, Surface, Manager, LIbWebCore, SGL, 3D,
FreeType, and SQLite. All these libraries are written in C/C++ and are all accessible
through the Java SDK.
The next layer is called the Application Framework layer. It is written completely in Java
and is what all devices use for development. It supplies all the API and libraries that can
access the telephone system, the browser, and other practical functions mobile
computing devices use.
Finally the layer that users see and use is the Application layer. It is very similar to the
application layer that all OS’s have for the user. It supplies the user interface for the
user, contacts, phone, maps, and the browser. It is the layer that users touch and
interact with on a daily basis. It only allows the functions the developers have granted
the user access to not any more. Again, all these applications can run simultaneously
which means you can view contacts while listening to a podcast or talk on the phone.
With all these layers and most of them written in Java, this makes development easy,
portable, and transferable across all platforms. Not only do these layers help with
development, but also the SDK Google has supplied for Android developers. This makes
Android very important and useful for software development. Now, not only is a
developer not bound to one device and limited to customer bases of that one device, but
they can now distribute his/her software across many different platforms. Therefore,
development across multiple platforms and multiple customer bases means more money
in the pocket of the developers and/or the companies of the developers. This goes back
to one of the goals of Google’s Android, “…Reach as many people as possible”
(Speckmann, 2008).
In conclusion, Android is the future of mobile OS’s and mobile software development. “…
Android breaks down the barriers to building new and innovative applications” (Chitu, 2007). It
is the Linux of the mobile world and will broaden the uses and expandability of mobile
computing. Some even say it may be the OS that joins computing environments, mobile to pc
computing and will be the end all OS for all platforms. One thing is true; it is the OS for all
wireless devices and will help make new and more original products faster and quicker than any
other mobile platform for a much lower cost. As long as Google keeps Android open and easy to
develop for, Android OS will soon be the next OS for all embedded and mobile platforms.
Linux Kernel
It is a layer that talks directly to hardware for the operating system.
It supplies all the drivers for the different types of components that may be on the
hardware.
These drivers include: display, camera, keypad, Wi-Fi, flash memory, audio,
binder(ipc) and power management drivers.
It is based off the Linux version 2.6 core systems.
Android Runtime
It includes libraries that allow access and functionality to the Linux Kernel from
the android sdk using the java programming language.
This layer is the translator between next layer, application layer and kernel.
It supplies a virtual machine called DVM to each application.
This allows each application to run in parallel which is a feature that is absent in
most mobile phones.
Libraries
It supplies 2D and 3D graphics along with the video encoders and codecs and also
the application’s databases which are saved in SQLite.
It provides webkit, which produces the beautifully scaled sized websites to the
user.
These libraries include system C, media, surface etc.
All these libraries are written in C/C++ and are all accessible through the java
SDK.
Application Framework
It is written completely in Java.
It supplies all the API and libraries that can access the telephone system, the
browser and other practical functions mobile computing devices use.
Application Layer
It is the layer that users see and use.
It supplies the user interface for the user, contacts, phone, maps and the browser.
It only allows the functions the developer has granted the user access to not any
more.
All these applications can run simultaneously.
e-Book Readers
An ebook reader, also called an ebook device or ereader, is an electronic device that is
designed primarily for the purpose of reading digital books and periodicals and uses e-ink
technology to display content to readers.
The main advantages of these devices are portability, readability of their screens in
bright sunlight, and long battery life.
Mobile Phone
A mobile phone or mobile (also called cellphone and handphone) is an electronic device
used for mobile telecommunications (mobile telephone, text messaging or data
transmission) over a cellular network of specialized base stations known as cell sites.
SmartPhone
A smartphone is a mobile phone offering advanced capabilities, often with PC-like
functionality (PC-mobile handset convergence).
For some, a smartphone is a phone that runs complete operating system software
providing a standardized interface and platform for application developers . In other
words, it is a miniature computer that has phone capability.
Performance
Android 1.5 Platform Highlights
The Android 1.5 platform introduces many new features for users and developers.
Below is a list of the new features which will make Android even better!
Performance Improvements
Faster Camera start-up and image capture
Much faster acquisition of GPS location (powered by SUPL AGPS)
Smoother page scrolling in Browser
New Features
Speedier GMail conversation
On-screen soft keyboard list scrolling
Works in both portrait and landscape orientation
Support for user installation of 3rd party keyboards
User dictionary for custom words
Home screen
Widgets
Bundled home screen widgets include: analog clock,
calendar, music player, picture frame, and search
Live folders
Camera & Gallery
Video recording
Video playback (MPEG-4 & 3GP formats)
Bluetooth
Stereo Bluetooth support (A2DP and AVCRP profiles)
Auto-pairing
Improved hands free experience
New Features
Browser
• Updated with latest Webkit browser & Squirrelfish JavaScript engines
• Copy 'n paste in browser
• Search within a page User-selectable text-encoding
• UI changes include:
System
New Linux kernel (version 2.6.27)
Google applications
(not available in the Android 1.5 System Image that is included in the Android SDK)
View Google Talk friends' status in Contacts, SMS, MMS, GMail, and Email
applications
HTC Dream/T-Mobile G1
-G1 launched
October 22nd, 2008
Available internationally
Samsung Galaxy
-Launched in July;
Available with
European Carriers
Motorola CLIQ
-Available
October 19th,
2009 on T-Mobile
and Orange UK
Motorola Droid
-Available
Samsung Moment/InstinctQ November 6th
- Av 200
ailable November 1st 9 on Verizon
from Sprint wireless. *Most
advanced droid phone available
Future possibilities
• Google Android Sales to Overtake iPhone in 2012
• The OHA is committed to make their vision a reality: to deploy the
Android platform for every mobile operator, handset manufacturers and
developers to build innovative devices
• Intel doesn’t want to lose ownership of the netbook market, so they need
to prepare for anything, including Android
• Fujitsu launched an initiative to offer consulting and engineering expertise
to help run Android on embedded hardware, which aside from cellphones,
mobile internet devices, and portable media players, could include GPS
devices, thin-client computers and set-top boxes.
• More Android devices are coming and some will push the envelope even
further
Development requirements
• Java
• Android SDK
Android SDK
• Class Library
• Developer Tools
dx – Dalvik Cross-Assembler
aapt – Android Asset Packaging Tool
adb – Android Debug Bridge
ddms – Dalvik Debug Monitor Service
• Emulator and System Images
• Documentation and Sample Code
Eclipse IDE + ADT (Android Development Tools)
• Reduces Development and Testing Time
• Makes User Interface-Creation easier
• Makes Application Description Easier
Programming Language(s)
• Java – officially supported
Advantages
There are a host of advantages that Google’s Android will derive from being an open
source software. Some of the advantages include:
Limitations
Bluetooth limitations(older versions)
o Android doesn't support:
Bluetooth stereo
Contacts exchange
Modem pairing
Wireless keyboards
Operating Systems
• Symbian- kernal and middleware
• Linux- free and open source software
• Windows Mobile- encompasses entire stack
• Java- OS’s based on Java programming language
• Garnet OS- combines a Linux-based foundation with applications written for the
old Palm OS
• Unique operating systems- ex. Apple iPhone and RIM BlackBerry
Latest Devices
Blackberry Storm- Blackberry OS (Business Users)
Disadvantages
• Insufficient Bandwidth- slow wireless WAN systems
• Security Standards- public networks
• Transmission Interferences- weather, distance, etc.
• Potential Health Hazards- hospitals
• Extensive Wireless Data Plans
• Physical Characteristic Limitations- bigger, heavier
• Dependence- social consequences?
General Advantage
• Work away from office
• Stay on top of current events
• Access databases and files
– Real time business decisions
• Stay in touch with the office
Touch-based Interfaces
“Swipe” gesture
Interact “directly” with digital objects
Example: Classics
Touch-based Interfaces
Example: Zillow
Geotagging + Geolocation
Example: Around Me
Augmented Reality
Live camera
Compass
Geotagged content
The Future
• Improving Wireless Networks – 3G, 4G
– Allow users to access faster networks, increased bandwidth, and greater
connectivity
• New Services
– Memory as a Service for mobile devices
• Increased Security Standards
– Important to ensure users are protected while using mobile devices
• Hardware Improvements
– Processor Speed / Memory
– Environment Sensing Technology
– Biometric Technology
• Applications
– Aimed at business users create personal productivity applications
– Adds functionality to mobile devices for business users
Conclusion
In conclusion, Android seems to be the future of mobile OS's and mobile software
Development. In today's increasingly complicated technology this OS just adds to all of
the fun, making phones cooler and development easier.
It also seems as though Android could easily move its way into the market from phones
to netbooks and desktops as developers become more accustomed with it, and this will
only create more business.
Currently there are about 20 Android phones available on the market with more than 75
million Android handsets forecasted by 2012. This statistic is very impressive and proves
that there is indeed a bright future for Android.
We can only hope that the next versions of Android have overcome the actual limitations
and that the future possibilities became a reality .