INTRODUCTION TO ANDROID
By:
Dipali Badgujar
Introduction:
• One of the most widely used mobile OS these days
is ANDROID.
• Android is a software bunch comprising not only
operating system but also middleware and key
applications.
History:
• Android Inc. was founded in Palo Alto of California, U.S. by
Andy Rubin, Rich miner, Nick sears and Chris White in 2003.
• Later Android Inc. was acquired by Google in 2005.
• Open HandSet Alliances formed Google , HTC , Motorola ,
Qualcomm , T- Mobile in 2007.
• Android is the first OHS product.
• After original release there have been number of updates in the
original version of Android.
OHA Companies:
Versions:
• Do you notice that this versions have been released in
alphabetical order and on desserts name?
 Released Date :
2008 Sep, 23
 Download and updates via
Android Market, Web
Browser, Camera support,
Gmail, Contacts and Google
Agenda synchronization,
Google Maps, YouTube
application.
ANDROID 1.0 APPLE PIE/ALPHA
 Released Date:
2009 Feb 9
 "Show" & "Hide" numeric
keyboard, in caller
application.
 Ability to save MMS
attachments.
ANDROID 1.1 BANANA
BREAD/BETA
 Released Date:
2009 Apr , 30
 Bluetooth A2DP, AVRCP
support
 Soft-keyboard with text-
prediction
Record/watch videos
ANDROID 1.5 CUPCAKE
 Released Date:
2009 Sep , 15
 Gesture framework
 Turn-by-turn navigation
ANDROID 1.6 DONUT
 Released Date:
2009 Oct, 26
 HTML
 Digital zoom
 Microsoft Exchange
support
 Bluetooth 2.1
 Live Wallpapers
 Updated UI
ANDROID 2.0 ECLAIR
 Released Date:
2010 May, 20
 Speed improvements
 JIT implementation
 USB Tethering
 Applications installation to
the expandable memory
 Upload file support in the
browser
 Animated GIFs
ANDROID 2.2 FROYO
 Released Date:
2010 Dec, 06
 Updated UI
 Improved keyboard ease of
use
 Improved power
management
 Improved copy/paste
 Social networking features
 Near Field Communication
support
 Native VoIP/SIP support
 Video call support
ANDROID 2.3 GINGERBREAD
 Released Date:
2011 Sep, 20
 Android Market updates
including easier automatic
updates
 Google Books updates
 Wi-Fi improvements
 Chinese handwriting
prediction improved
ANDROID 3.0 HONEYCOMB
 Released Date:
2011 Oct, 18
 New lock screen actions
 Improved text input and
spell-checking
 Control over network data
 Email app supports EAS
v14
 WI-FI direct
 Bluetooth Health Device
Profile
ANDROID 4.0 ICE CREAM
SANDWICH
 Released Date:
2012 Jul,09
 Voice Search
 Speed enhancements
 Camera app improvements
 Accessibility: gesture mode,
enable braille external
keyboards...
ANDROID 4.1 JELLY BEAN
 Released Date:
2013 Oct, 31
 Screen recording
 New Translucent system
UI
 Enhanced notification
access
System-wide
 Performance
improvements
ANDROID 4.4 KITKAT
 Released Date:
2014 Oct, 17
 New design (Material
design)
 Speed improvement
 Battery consumption
improvement
ANDROID 5.0 LOLLIPOP
 Released Date:
2015 Oct, 05
 USB Type-C support
 Fingerprint Authentication
support
 Better battery life with
"deep sleep“
 Permissions dashboard
 Android Pay
 MIDI support
 Google Now
improvements
ANDROID 6 MARSHMALLOW
Architecture:
1. Activity Manager – Controls all aspects of the application lifecycle
and activity stack.
2. Content Providers – Allows applications to publish and share
data with other applications.
3. Resource Manager – Provides access to non-code embedded
resources such as strings, color settings and user interface layouts.
4. Notifications Manager – Allows applications to display alerts and
notifications to the user.
5. View System – An extensible set of views used to create application
user interfaces.
6. Package Manager – The system by which applications are able to
find out information about other applications currently installed on the
device.
7. Telephony Manager – Provides information to the application about
the telephony services available on the device such as status and
subscriber information.
8. Location Manager – Provides access to the location services allowing
an application to receive updates about location changes.
Architectural Framework:
1. android.app − Provides access to the application model and is the
cornerstone of all Android applications.
2. android.content − Facilitates content access, publishing and
messaging between applications and application components.
3. android.database − Used to access data published by content
providers and includes SQLite database management classes.
4. android.opengl − A Java interface to the OpenGL ES 3D graphics
rendering API.
5. android.os − Provides applications with access to standard
operating system services including messages, system services and
inter-process communication.
6. android.text − Used to render and manipulate text on a device
display.
7. android.view − The fundamental building blocks of application user
interfaces.
8. android.widget − A rich collection of pre-built user interface
components such as buttons, labels, list views, layout managers,
radio buttons etc.
9. android.webkit − A set of classes intended to allow web-browsing
capabilities to be built into applications.
Libraries:
 This section provides a key component called Dalvik Virtual
Machine which is a kind of Java Virtual Machine specially
designed and optimized for Android.
 The Dalvik VM makes use of Linux core features like memory
management and multi-threading, which is intrinsic in the Java
language.
 The Dalvik VM enables every Android application to run in its
own process, with its own instance of the Dalvik virtual machine.
 The Android runtime also provides a set of core libraries which
enable Android application developers to write Android
applications using standard Java programming language.
Android Runtime:
 At the bottom of the layers is Linux - Linux 3.6 with
approximately 115 patches. This provides a level of abstraction
between the device hardware and it contains all the essential
hardware drivers like camera, keypad, display etc.
 Also, the kernel handles all the things that Linux is really good
at such as networking and a vast array of device drivers, which
take the pain out of interfacing to peripheral hardware.
Applications:
You will find all the Android application at the top layer. You will write
your application to be installed on this layer only. Examples of such
applications are Contacts Books, Browser, Games etc.
Linux Kernel And Applications:
1. Install the JDK
2. Download and install the Eclipse for
developing android application
3. Download and Install the android SDK
4. Install the ADT plugin for eclipse
5. Configure the ADT plugin
6. Create the AVD
7. Create the hello android application
Installation Steps:
• All applications written in Java and
converted to the dalvik executable .dex
• Every android app runs its own process,
with its own instance of the dalvik virtual
machine
• Not a traditional JVM, but a custom VM
designed to run multiple instances
efficiently on a single device
• VM uses Linux kernel to handle low-level
functionality incl. security, threading,
process and memory management
Dalvik VM:
like the
web.xml file
in Java EE
Android Core Building Blocks:
 Android Emulator is used
to run, debug and test the
android application.
 If you don't have the real
device, it can be the best way
to run, debug and test the
application.
 It uses an open source
processor emulator technology
called QEMU.
Android Emulator:
1. http://www.tutorialspoint.com/android/android_architecture
.htm
2. http://www.javatpoint.com/android-core-building-blocks
3. http://www.javatpoint.com/how-to-setup-android-for-
eclipse-ide
4. http://www.techotopia.com/index.php/An_Overview_of_the
_Android_Architecture#The_Linux_Kernel
References:

Introduction to Android

  • 1.
  • 3.
    Introduction: • One ofthe most widely used mobile OS these days is ANDROID. • Android is a software bunch comprising not only operating system but also middleware and key applications.
  • 4.
    History: • Android Inc.was founded in Palo Alto of California, U.S. by Andy Rubin, Rich miner, Nick sears and Chris White in 2003. • Later Android Inc. was acquired by Google in 2005. • Open HandSet Alliances formed Google , HTC , Motorola , Qualcomm , T- Mobile in 2007. • Android is the first OHS product. • After original release there have been number of updates in the original version of Android.
  • 5.
  • 6.
    Versions: • Do younotice that this versions have been released in alphabetical order and on desserts name?
  • 7.
     Released Date: 2008 Sep, 23  Download and updates via Android Market, Web Browser, Camera support, Gmail, Contacts and Google Agenda synchronization, Google Maps, YouTube application. ANDROID 1.0 APPLE PIE/ALPHA
  • 8.
     Released Date: 2009Feb 9  "Show" & "Hide" numeric keyboard, in caller application.  Ability to save MMS attachments. ANDROID 1.1 BANANA BREAD/BETA
  • 9.
     Released Date: 2009Apr , 30  Bluetooth A2DP, AVRCP support  Soft-keyboard with text- prediction Record/watch videos ANDROID 1.5 CUPCAKE
  • 10.
     Released Date: 2009Sep , 15  Gesture framework  Turn-by-turn navigation ANDROID 1.6 DONUT
  • 11.
     Released Date: 2009Oct, 26  HTML  Digital zoom  Microsoft Exchange support  Bluetooth 2.1  Live Wallpapers  Updated UI ANDROID 2.0 ECLAIR
  • 12.
     Released Date: 2010May, 20  Speed improvements  JIT implementation  USB Tethering  Applications installation to the expandable memory  Upload file support in the browser  Animated GIFs ANDROID 2.2 FROYO
  • 13.
     Released Date: 2010Dec, 06  Updated UI  Improved keyboard ease of use  Improved power management  Improved copy/paste  Social networking features  Near Field Communication support  Native VoIP/SIP support  Video call support ANDROID 2.3 GINGERBREAD
  • 14.
     Released Date: 2011Sep, 20  Android Market updates including easier automatic updates  Google Books updates  Wi-Fi improvements  Chinese handwriting prediction improved ANDROID 3.0 HONEYCOMB
  • 15.
     Released Date: 2011Oct, 18  New lock screen actions  Improved text input and spell-checking  Control over network data  Email app supports EAS v14  WI-FI direct  Bluetooth Health Device Profile ANDROID 4.0 ICE CREAM SANDWICH
  • 16.
     Released Date: 2012Jul,09  Voice Search  Speed enhancements  Camera app improvements  Accessibility: gesture mode, enable braille external keyboards... ANDROID 4.1 JELLY BEAN
  • 17.
     Released Date: 2013Oct, 31  Screen recording  New Translucent system UI  Enhanced notification access System-wide  Performance improvements ANDROID 4.4 KITKAT
  • 18.
     Released Date: 2014Oct, 17  New design (Material design)  Speed improvement  Battery consumption improvement ANDROID 5.0 LOLLIPOP
  • 19.
     Released Date: 2015Oct, 05  USB Type-C support  Fingerprint Authentication support  Better battery life with "deep sleep“  Permissions dashboard  Android Pay  MIDI support  Google Now improvements ANDROID 6 MARSHMALLOW
  • 20.
  • 21.
    1. Activity Manager– Controls all aspects of the application lifecycle and activity stack. 2. Content Providers – Allows applications to publish and share data with other applications. 3. Resource Manager – Provides access to non-code embedded resources such as strings, color settings and user interface layouts. 4. Notifications Manager – Allows applications to display alerts and notifications to the user. 5. View System – An extensible set of views used to create application user interfaces. 6. Package Manager – The system by which applications are able to find out information about other applications currently installed on the device. 7. Telephony Manager – Provides information to the application about the telephony services available on the device such as status and subscriber information. 8. Location Manager – Provides access to the location services allowing an application to receive updates about location changes. Architectural Framework:
  • 22.
    1. android.app −Provides access to the application model and is the cornerstone of all Android applications. 2. android.content − Facilitates content access, publishing and messaging between applications and application components. 3. android.database − Used to access data published by content providers and includes SQLite database management classes. 4. android.opengl − A Java interface to the OpenGL ES 3D graphics rendering API. 5. android.os − Provides applications with access to standard operating system services including messages, system services and inter-process communication. 6. android.text − Used to render and manipulate text on a device display. 7. android.view − The fundamental building blocks of application user interfaces. 8. android.widget − A rich collection of pre-built user interface components such as buttons, labels, list views, layout managers, radio buttons etc. 9. android.webkit − A set of classes intended to allow web-browsing capabilities to be built into applications. Libraries:
  • 23.
     This sectionprovides a key component called Dalvik Virtual Machine which is a kind of Java Virtual Machine specially designed and optimized for Android.  The Dalvik VM makes use of Linux core features like memory management and multi-threading, which is intrinsic in the Java language.  The Dalvik VM enables every Android application to run in its own process, with its own instance of the Dalvik virtual machine.  The Android runtime also provides a set of core libraries which enable Android application developers to write Android applications using standard Java programming language. Android Runtime:
  • 24.
     At thebottom of the layers is Linux - Linux 3.6 with approximately 115 patches. This provides a level of abstraction between the device hardware and it contains all the essential hardware drivers like camera, keypad, display etc.  Also, the kernel handles all the things that Linux is really good at such as networking and a vast array of device drivers, which take the pain out of interfacing to peripheral hardware. Applications: You will find all the Android application at the top layer. You will write your application to be installed on this layer only. Examples of such applications are Contacts Books, Browser, Games etc. Linux Kernel And Applications:
  • 25.
    1. Install theJDK 2. Download and install the Eclipse for developing android application 3. Download and Install the android SDK 4. Install the ADT plugin for eclipse 5. Configure the ADT plugin 6. Create the AVD 7. Create the hello android application Installation Steps:
  • 26.
    • All applicationswritten in Java and converted to the dalvik executable .dex • Every android app runs its own process, with its own instance of the dalvik virtual machine • Not a traditional JVM, but a custom VM designed to run multiple instances efficiently on a single device • VM uses Linux kernel to handle low-level functionality incl. security, threading, process and memory management Dalvik VM:
  • 27.
    like the web.xml file inJava EE Android Core Building Blocks:
  • 28.
     Android Emulatoris used to run, debug and test the android application.  If you don't have the real device, it can be the best way to run, debug and test the application.  It uses an open source processor emulator technology called QEMU. Android Emulator:
  • 29.
    1. http://www.tutorialspoint.com/android/android_architecture .htm 2. http://www.javatpoint.com/android-core-building-blocks 3.http://www.javatpoint.com/how-to-setup-android-for- eclipse-ide 4. http://www.techotopia.com/index.php/An_Overview_of_the _Android_Architecture#The_Linux_Kernel References: