2. History
OHA
What is Android?
Licensing
What makes android special?
Architecture
Application building blocks
Required tools
Android SDK
Android software updates
Advantages & Disadvantages
3. Android Inc. was founded in Palo Alto,
California in October 2003 by
Andy Rubin (co-founder of Danger),
Rich Miner (co-founder of Wildfire Communications,
Inc.),
Nick Sears (once VP at T-Mobile), and
Chris White (headed design and interface development
at WebTV)
Google acquired Android Inc. on August 17,
2005
9. Android is a software
stack for mobile devices
that includes an
operating system,
middleware and key
applications.
10. Android is a s/w platform and operating
system for mobile devices based on the
Linux operating system and developed
by Google in conjunction with the
Open Handset Alliance
11. The source code for android is available
under free and open source software licenses.
Google published code under the apache
license version 2.0
The open handset alliance develops the
changes to the Linux kernel
12. A truly open, free development platform
based on Linux and open source
Availability of the 3rd Party Applications
A compound based architecture inspired by
Internet mash-ups. Parts of the application
can be used in another.
13.
14.
15. Android architecture is based on Linux Kernel 2.6 for
core system services.
Memory and Process Management
Network Stack
Driver Model
Device Management
Providing an abstraction layer between the H/W and
the rest of the S/W stack
16.
17. Native libraries written in C+/C++, which are
responsible for stable performance of the Android
system
18.
19. Core libraries
Providing most of the functionality available in
the core libraries of the Java language
APIs
Data structure
Utilities
File access
Network access
Graphics etc.
20. Dalvik Virtual Machine
Providing environment on which every Android
application runs
Each Android application runs in its own process,
with its own instance of the Dalvik VM.
Android support the execution of multiple
instances of Dalvik VM simultaneously.
21. Dalvik Virtual Machine
Dalvik does not understand the Java code directly,
rather a dx tool is use to convert java code into
Dalvik understandable byte code.
The purpose of conversion java code into byte is
to optimize the code to be easily complied over
the limited resourced mobile device.
22. Android applications are compiled to Dalvik byte
code
Write app in Java
Compiled in Java
Linux OS
Transformed to
Dalvik byte code
Loaded into Dalvik
VM
23.
24. Enabling and simplifying the reuse of
components
Developers have full access to the same framework APIs used by the
core applications.
Users are allowed to replace components.
25. Features
Feature Role
View System Used to build an application, including
lists, grids, text boxes, buttons, and
embedded web browser
Content Provider Enabling applications to access data
from other applications or to share
their own data
Resource Manager Providing access to non-code resources
(localized strings, graphics, and layout
files)
Notification Manager Enabling all applications to display
customer alerts in the status bar
26. Feature Role
Activity Manager Managing the lifecycle of applications
and providing a common navigation
back stack
Telephony manager Support applications to access the
information regarding telephony
services access to some telephony
information is protected and some
applications may not have permission
to access such protected information
Package manager Maintain track of all applications that
are installed in the device
Windows manager Manages screen of mobile device and
creates surfaces (an allocated memory
block) for all running
applications
27.
28. Here we have all the applications, which are
used by the final user.
Android provides a set of core applications:
Email client
SMS Program
Calendar
Maps
Browser
Contacts etc.
29. The major building blocks of android
applications are...
Activity: User interface component, which
corresponds to one screen at a time
Intent Receiver: Wakes up a predefined action
through the external event
Service: A task which is done in the background
Content Provider: A component, which allows
sharing some of the data with other processes and
applications
30. The easiest way to develop android
application is to download the android SDK
and the Eclipse IDE.
Android development can take place on
Microsoft windows, Mac OS or Linux
31. Android application are written in the java
language, but complied and executed in the dalvik
VM(a non Java virtual machine).
Eclipse provides a rich java environment, including
context-sensitive help and code suggestion hints.
32. The android SDK is distributed as a ZIP file that
unpacks to a directory on your hard drive.
Since there have been several SDK updates. It is
recommended that you keep your development
environment well organized so you can easily switch
between SDK installation
33. The Android SDK includes an emulator, some tools
for performance profiling and debugging. Eclipse
IDE is a natural choice for Android developers.
Android Development Tool (ADT) is a plug in use
to enhance and boost the performance of Eclipse
IDE. It provides faster and easier way of creation
and debugging of Android application
35. Since 2008, Android has seen numerous updates
which have incrementally improved the operating
system, adding new features and fixing bugs in
previous releases.
Each major release is named in alphabetical order
with a dessert or sugary treat;
For example, version 1.5 Cupcake was followed
by 1.6 Donut.
The latest released version is 4.4.2 Kit Kat, which
was released on 9 December 2013
36. Android 1.0, the first commercial version of
the software, was released on 23 September
2008.
The first commercially available Android
device was the HTC Dream
Android Market
Web browser to show, zoom and pan full
HTML and XHTML web pages
37. Voice Dialer allows dialing and placing of phone
calls without typing a name or number
Notifications appear in the Status bar, with
options to set ringtone, LED or vibration alerts
YouTube video player, Wi-Fi and Bluetooth
support
Other apps include: Alarm Clock, Calculator,
Dialer (Phone), Home screen (Launcher), Pictures
(Gallery), and Settings
38. On 9 February 2009, the Android 1.1 update was
released, initially for the HTC Dream only.
The update resolved bugs, changed the Android
API and added a number of features
Longer in-call screen timeout default when using
the speakerphone, plus ability to show/hide dial
pad
Ability to save attachments in messages
39. On 27 April 2009, the Android 1.5 update
was released, based on Linux kernel 2.6.27.
This was the first release to officially use a
codename based on a dessert item
("Cupcake"), a theme which would be used for
all releases henceforth.
The update included several new features and
UI amendments
40. Support for third-party virtual keyboards with
text prediction and user dictionary for custom
words
Copy and paste features in web browser
Auto-rotation option
Ability to upload videos to YouTube & photos
to Picasa
41. On 15 September 2009, the Android 1.6 SDK
– dubbed Donut – was released, based on
Linux kernel 2.6.29.
It featured numerous updates such as
voice and text entry, multi-lingual speech
synthesis, more fully integrated gallery,
camera and camcorder, updated technology
for network and Wi-Fi and WVGA screen
resolution support.
42. On 26 October 2009, the Android 2.0 SDK –
codenamed Éclair – was released, based on
Linux kernel 2.6.29.
Microsoft Exchange support, Bluetooth 2.1,
search in messaging app, new camera
features, HTML5, optimised hardware speed,
newly revamped UI, more screen sizes and
resolution support, Google Maps 3.1.2 and
live wallpapers.
43. On 20 May 2010, the SDK for Android 2.2 (Froyo,
short for frozen yogurt) was released, based on
Linux kernel 2.6.32.
Speed, memory, and performance optimizations
USB tethering and Wi-Fi hotspot
Option to disable data access over mobile network
Support for installing applications to the
expandable memory
44. On 6 December 2010, the Android 2.3
(Gingerbread) SDK was released, based on Linux
kernel 2.6.35.
Updated user interface design with increased
simplicity and speed
Native support for SIP VoIP internet telephony
Faster and intuitive keyboard, enhanced
copy/paste functionality
Support for multiple cameras on the device
45. On 22 February 2011, the Android 3.0
(Honeycomb) SDK – the first tablet-only Android
update – was released, based on Linux kernel
2.6.36.
It featured the holographic user interface,
system bar, action bar, simplified multi-tasking,
re-designed keyboard, multiple browser tabs,
quick access to camera, Google Talk video chat
and multi-core CPU support.
46. The SDK for Android 4.0 (Ice Cream
Sandwich), based on Linux kernel 3.0.1, was
publicly released on 19 October 2011.
ICS runs both Android phones and tablets
with features such as soft buttons for phones,
customisable default launcher, access apps
from lock screen, Face Unlock, Chrome
mobile browser, new UI called Roboto, data
usage section, improved camera app, photo
editor etc.
47. Android 4.1 Jelly Bean was released to the
Android Open Source Project on 9 July 2012,
Based on Linux kernel 3.0.31 with three
different sub versions - 4.1, 4.2 and 4.3.
It included several features including Google
Now, Project Butter, Daydream, actionable
notifications, lock screen widgets, Extended
Quick Settings, enhanced accessibility, Bluetooth
Low Energy, OpenGL ES 3.0, surround sound,
Photo Sphere, 4K resolution support and tons of
improvements.
48. ‣ Google announced Android 4.4 Kit Kat,
internally known as Project Svelte, on
3 September 2013
‣ Completely Revamped UI and Better Looking
than Ever
‣ More Hardware Supported
‣ Exclusive Android cloud system
49. ‣ Bigger Global Network Coverage
‣ Increased Battery Life
‣ Screen Orientation Smoothen Out
‣ Better Security and Fewer Bugs
‣ Exclusive Kit Kat Apps
50. Open:
Android allows access to core mobile functionality through
standard API calls.
All apps are equal:
Android does not differentiate b/w the phones basic and
third party applications.
Fast and easy development:
The SDK contains everything needed to build and android
apps, including a true device emulator and advanced debugging
tools.
51. Security:
Making source code available to everyone
invites the attention of black hat hackers.
Open Source:
A disadvantage of open-source development is
that anyone can scrutinize the source code to find
vulnerabilities and write exploits.
Incompetence:
Google’s dependence on h/w and carrier
partners puts the final product out of their control.
52. Android is a complete operating environment
based upon the Linux V2.6 kernel.
Initially, the deployment target for Android
was the mobile phone arena, but now android
is using in other devices also.
However, Android's full range of computing
services and rich functional support has the
potential to extend beyond the mobile phone
market.