2. History of Android
In 2007, a group of manufacturers, wireless
carriers & software developers formed the “Open
Handset Alliance”
Some of these include
Broadcom Corporation
HTC
Intel
LG
Motorola
Samsung
T-Mobile
Google
3. History of Android
The goal was to develop the next generation of
wireless platform
The new platform would be nonproprietary & based
on open standards
This would lead to lower development costs &
increases profits
RIM Blackberry & Apple iOS were proprietary
platforms, so the mobile development community
eagerly waited for this new potential platform
In 2008, the OHA announces the Android platform
and launched a beta program for developers.
4. History of Android
Several pre-release versions of the Android SDK
were released
The first Android handset (T-Mobile G1) began
shipping in late 2008
5. History of Android
Almost all major manufacturers have Android
based handsets
The following companies do not have Android
Phones
Apple
RIM
Nokia
6. Easy Development
Android breaks the proprietary concept of mobile
development
Unlike with other mobile platforms, there are
virtually no costs to developing Android
Applications
The Android SDK and tools are freely available
on the Android developer website
http://developer.android.com
The freely available Eclipse is the most popular
IDE for Android Development
So basically the setup itself is very cheap
7. Easy Development
The best part is the development language
Android applications are written in Java
Language
Java being the popular language among the
developer community
The learning curve for developers is quite less
since they already know Java
The main thing that they have to understand is
the SDK and Tools for development
9. What is Android?
Android is a software stack for mobile devices
that includes
an operating system
Middleware
key applications
The Android SDK provides the tools and APIs
necessary to begin developing applications.
10. Features of Android
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 for structured data storage
11. Features of Android
Media support for common audio, video, and still
image formats (MPEG4, H.264, MP3, AAC, AMR,
JPG, PNG, GIF)
GSM Telephony (hardware dependent)
Bluetooth, EDGE, 3G, and WiFi (hardware
dependent)
Camera, GPS, compass, and accelerometer
(hardware dependent)
Rich development environment including a
device emulator, tools for debugging, memory
and performance profiling, and a plugin for the
Eclipse IDE
13. Applications
Android provides a set of core applications
including an
email client,
SMS program,
calendar,
maps,
browser,
contacts, and others.
All applications are written using the Java
programming language.
14. Application Framework
Android offers developers the ability to build
extremely rich and innovative applications.
Developers are free to take advantage of the
device hardware,
access location information,
run background services,
set alarms,
add notifications to the status bar & much more
Developers have full access to the same
framework APIs used by the core applications
15. Application Framework
The application architecture is designed to
simplify the reuse of components
Any application can publish its capabilities and
any other application may then make use of those
capabilities
This same mechanism allows components to be
replaced by the user
16. Application Framework
Underlying all applications is a set of services and
systems, including:
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 that enable applications to
access data from other applications (such as
Contacts), or to share their own data
A Resource Manager, providing access to non-
code resources such as localized strings, graphics,
and layout files
A Notification Manager that enables all
applications to display custom alerts in the status
bar
17. Libraries
Android includes a set of 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:
Media Libraries - 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
LibWebCore - a modern web browser engine which
powers both the Android browser and an embeddable
web view
3D libraries - an implementation based on OpenGL ES
1.0 APIs;
FreeType - bitmap and vector font rendering
18. Android Runtime
Every Android application runs in its own process,
with its own instance of the Dalvik virtual machine
(DVM)
Dalvik has been written so that a device can run
multiple VMs efficiently.
The Dalvik VM executes files which are optimized
for minimal memory footprint.
The Dalvik VM relies on the Linux kernel for
underlying functionality such as threading and
low-level memory management.
19. Linux Kernel
Android relies on Linux version 2.6 for core
system services such as
security,
memory management,
process management,
network stack, and
driver model.
The kernel also acts as an abstraction layer
between the hardware and the rest of the
software stack
20. Android Development Tools
Plugin
ADT Plugin is available for Eclipse
It provides the following:-
Android project wizard
Android specific resource editors
Android SDK & AVD (Android Virtual Device) Manager
DDMS (Dalvik Debug Monitor Service) perspective for
debugging/monitoring apps
Integration with Android LogCat Logging
Automated builds & application deployment to Android
emulators and handsets
Application packaging and code signing tools for
release deployment
21. Eclipse ?
Is Eclipse Necessary for development?
NO
Developers can develop Android apps without
using the Eclipse IDE
However by doing so, they are missing the ease
of development that Eclipse provides
22. Remember…
When developing any mobile application, always
remember:
Screen Size is small
Processing power is less
Resources should be managed properly