2. About Me
• Cross Platform Enterprise Mobility Consultant with SAP &
Sybase
• International Corporate Trainer
• Android
• iOS
• Sybase Unwired Platform-SAP Mobility
• Blackberry
• Symbian
• More @ http://about.me/mayurdharukiya
3. Goals of Session
• Help you understand what Android is
• Learn about the Tools to develop Android applications
• Introduction to ICS
• ICS Features
• App level changes in ICS
• Walkthrough of developing a simple Android application using
Android 4.0 (Ice-cream Sandwich)
5. What is Android?
• A software stack for mobile devices
• Includes Linux Kernel, OS Middleware, Application Framework
& Applications.
• Provides SDK for developers
• From Google
• Open Source and provided to Handset manufacturers
• http://www.android.com
• http://developer.android.com
6. Android Application Development
• An open source Linux based OS for mobile device.
• A software stack which has its own OS, Middleware and Key
Applications.
• The main platform of android is Java, it uses java library and
applications are coded in java, C++ and C (core) programming
language.
• It’s the only application which has more than 700,000 apps and
many more are released daily.
• A leading industry in android market, which as higher growth.
• It is used in smart phones, tablets, iPad, watch, TV, MP3, DVR, etc.,
7. History of Android
• Android was developed by Open Handset Alliance led by Google.
• The Open Handset Alliance includes nearly 86 hardware, software
and telecommunications companies.
• The initial developer of android was Android Inc., and later Google
purchased it.
• The Android code was released open source under Apache License.
• It was founded in Palo Alto, California, US, in October 2003 by Andy
Rubin, Rich Miner, Nick Sears and Chris White.
• The Android Open Source Project (AOSP) is also led by Google and is
tasked for the maintenance and development of android.
8. Android - History
OS Version Name API Level Date
Beta, 1.0 , 1.1 - -, 1 , 2 Nov 2007, Sep 2008,
Feb 2009
2011-2012
1.5 Cupcake 3 April 2009
1.6 Donut 4 September 2009
2.1 Eclair 7 October 2009
2.2 Froyo 8 May 2010
2.3 Gingerbread 10 December 2010
3.0 Honeycomb 11 February 2011
3.1.x, 3.2 Honeycomb 12,13
4.0, 4.0.1, 4.0.2 Icecream Sandwich 14 October 2011
4.0.3 Icecream Sandwich 15 December 2011 8
9. Version History
1.5 Cupcake 30 April 2009 Based on linux kernel 2.6.27
1.6 DonutSDK Based on linux kernel 2.6.29
15 September 2009
2.0 EclairSDK Based on linux kernel 2.6.29
October 2009
2.2 Froyo Based on linux kernel 2.6.32
20 May 2010
2.3
Gingerbread Released on 6 December 2010
3.0
Honeycomb Released on 10 May 2011
4.0 IceCream
Released on 18 October 2011
Sandwich
12. Why Android?
• Android has garnered more than 40% of the current market
share in Smartphones
• Android Application Development has become biggest and
highest growing revenue generating market
• Android by its nature is available across various devices
(Phone, Tablet, TV, Navigation Devices, etc)
• Support from major Handset manufacturers. Open Handset
Alliance > 50 vendors
• Open Source (http://git.android.com)
• Good set of Developer Tools
15. Applications
• All applications are written using the java programming
language.
• Core applications include –
• Email client
• SMS program
• calendar
• Maps
• Browser
• Contacts etc.
16. Application Framework
• Underlying all applications is a set of services and systems,
including:
• Views
• Content providers
• Resource manager
• Notification manager
• Activity manager
17. APPLICATION FRAMEWORK
• Activity Manager -Controls the lifecycle of your Activities
• Views -Used to build an application, including lists, grids, text
boxes, buttons, and even an embeddable web browser
• 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
• An Activity Manager that manages the lifecycle of applications
and provides a common navigation back stack
• Content Providers that enable applications to access data from
other applications (such as Contacts), or to share their own data
18. LIBRARIES
• System C library - a BSD-derived implementation of the
standard C system library (libc), tuned for embedded Linux-
based devices
• A media library for playback of audio and video media
• A surface manager to provide display management
• Graphics libraries that include SGL and Open GL for 2D and 3D
graphics
19. LIBRARIES
• SQLite for native database support
• SSL and Webkit for integrated Web browser and Internet
Security
• FreeType - bitmap and vector font rendering
20. Android Runtime
• Every android application runs in its own process, with its own
instance of the Dalvik Runtime machine.
• Dalvik has been written so that a device can run multiple VMs
efficiently.
21. DALVIK VIRTUAL MACHINE
• The Dalvik VM is a register-based architecture.
• A tool called dx is used to convert some (but not all) Java .class
files into the .dex format
• Multiple classes are included in a single .dex file
• Duplicate strings and other constants used in multiple class files
are included only once in the .dex output to conserve space
• Java byte code is also converted into an alternative instruction
set used by the Dalvik VM
22. 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.
23. What makes android different??
• Android operating system is open source. Therefore, it is legal
and possible for you to modify the entire Operating System to
work the way you want it to.
• However, to call it different from others because of
“openness” can be debatable.
24. Android Market
• http://play.google.com
• Single marketplace for eBooks, Music, Videos and Android
Applications
• Website + Android application
• Developers pay a one-time registration fee of $25 and can list
their free & paid applications
• Consumers can download/purchase applications directly
• Market features – Buy/Sell/Rate/Comment/Publish/Search
• 400,000+ applications
28. Android Developer Tools
• Java SDK
• Eclipse
• Android SDK
• Android Emulator
• Command Line Tools
• Documentation + Samples
• Platform Libraries
• Android Development Tools (ADT) for Eclipse (Recommended
to begin with)
29. Tools Needed
• Java SDK
• Download from
http://www.oracle.com/technetwork/java/javase/downloads/
index.html
• Eclipse
• Download from http://www.eclipse.org/downloads
• Android SDK
• Download from http://developer.android.com/sdk/index.html
• Android Development Tools (ADT) for Eclipse (Recommended
to begin with)
• Download from http://developer.android.com/sdk/eclipse-
adt.html
30. Android Virtual Device
• SDK includes an Emulator - a virtual mobile device
• Emulator helps you test your applications without a physical
device
• It mirrors the System Image and functionality as closely as
possible
• You need to create an Android Virtual Device for the Android
OS that you wish to target. E.g. 2.2 , 2.3, etc.
33. Introduction to Android 4.0 ICS
• As officially announced during the 2011 Google I/O, the
upcoming version of Android is called Ice Cream Sandwich, a
combination of Gingerbread and Honeycomb into a "cohesive
whole". Google is targeting an official release in Q4
2011. Android engineer Mike Claren called it the company’s
“most ambitious release to date.” Android 3.2 will be still
considered part of Honeycomb and not part of Ice Cream
Sandwich. It will be the last major android release prior to Ice
Cream Sandwich.
34. • Gingerbread and Honeycomb Unite
The Google Android market is currently comprised of two
major players, Gingerbread and Honeycomb, and Android 4.0
is set to merge the best of those two worlds by bringing the
best features of Honeycomb and Gingerbread to Ice Cream
Sandwich. If you've fallen in love with Honeycomb and
Gingerbread features like sliding widgets, the new task
launcher, and the awesome holographic interface, expect to
see them and more in the new Android 4.0 operating system.
35. Better Multitasking
IceCream Sandwich will bring multitasking to the Android
platform like none before it and will not only enhance the apps
already featured in the marketplace, but will also make new
things possible like the new Virtual Camera Operator that'll
automatically detect which person is talking in a multi-video
chat and automatically switch to the individual that's talking.
36. One OS to Rule Them All
One of the current issues with the Android
platform is that it's not unified enough;
Gingerbread is made to work on smartphones
and Honeycomb works only with tablets.
When Ice Cream Sandwich drops in Q4 2011,
it'll do so to unify smartphones and tablets
once and for all -- and will work on both
device types. With one Android OS system to
"rule them all", Ice Cream Sandwich will make
the Android platform better for users and
developers alike.
37. Better Development Support
As of right now there are over 200,000 Android
apps available in the Android Market and over
100 million Android devices being used all over
the world and with that much support for the
Android platform, developers can use any help
that they can get. In addition to uniting tablets
and smartphones -- making developers lives a lot
easier - the new Android 4.0 will also work to
make Android developers' lives better by
providing new tools that'll help them design apps
that will work better with multiple device types
amongst other things.
38. The latest version is 4.0.3
Icecream sandwich.
• It combines the best of the android
2x phone interface with android 3x
phone interface.
• Easy multitasking, customizable home
screens, customizable widgets.
39. Introducing Android 4.0
• Android 4.0 delivers a refined, unified UI for phones and
tablets and introduces innovative features for users and
developers. This document provides a glimpse of the many
new features and technologies that make Android 4.0 simple,
beautiful, and beyond smart.
45. Android 4.0 for Users-Innovation
• Android Beam for NFC-based sharing
• Wi-Fi Direct and Bluetooth HDP
46. Android 4.0 for Developers
• Unified UI framework for phones, tablets, and more
• New input types and text services
• Stylus input, button support, hover events
• Text services API for integrating spelling checkers
• New UI components and capabilities
• Layout enhancements
• OpenGL ES texture views
• Hardware-accelerated 2D drawing
• New types of connectivity
• Wi-Fi Direct
• Bluetooth Health Device Profile (HDP)
47. Android 4.0 for Developers
• New media capabilities
• Low-level streaming multimedia
• New camera capabilities
• Media effects for transforming images and video
• Audio remote controls
• New media codecs and containers
• Communication and sharing
• Social API
• Calendar API
• Visual voicemail API
• Android Beam
• Modular sharing widget
53. Next Steps
• Refer to http://developer.android.com
• Developer Resources:
http://developer.android.com/resources/index.html
• Google Marketplace Account