0% found this document useful (0 votes)
1K views

Android Platform

This document discusses the Android platform and provides details about its architecture and core components. It describes Android as an open source software stack for mobile devices that includes an operating system, middleware, and key applications. It outlines the main components of the Android software stack, including the Linux kernel, libraries, Android runtime, application framework, and applications. It also discusses the common structure of Android applications and their typical building blocks like activities, services, content providers, and intents.

Uploaded by

aditya_kumar_me
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views

Android Platform

This document discusses the Android platform and provides details about its architecture and core components. It describes Android as an open source software stack for mobile devices that includes an operating system, middleware, and key applications. It outlines the main components of the Android software stack, including the Linux kernel, libraries, Android runtime, application framework, and applications. It also discusses the common structure of Android applications and their typical building blocks like activities, services, content providers, and intents.

Uploaded by

aditya_kumar_me
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

Android Platform

Adesh Bora Guide


T.E.I.T Prof. Pawar Mam
Roll No.-10

Downloaded from FaaDoOEngineers.com


Main topics

1. Introduction

2. Platform

3. Software development

4. Overall evaluation

Downloaded from FaaDoOEngineers.com


Smart phone OS

 Symbian
 Windows Mobile
 RIM Blackberry OS
 Apple iOS
 Google Android
 Palm WebOS
 Windows Phone 7

Downloaded from FaaDoOEngineers.com


Android
 Software platform developed by Google for
mobile phone
 Free of charge
 Open source (Apache License except for kernel)
 Packaging OS to upper layer applications such as
browser

 It is said that handset using Android will be


released in 21st oct 2008

Downloaded from FaaDoOEngineers.com


Android OS
 Fastest growing mobile OS
 First phone launched HTC G1 in 2008
 Currently an OS of choice for Motorola,
HTC, Samsung, Sony Ericsson, among
others
 Software updates every few months

Downloaded from FaaDoOEngineers.com


What is Android?
 A complete software stack for mobile devices..
 Introducing Android
 A first joined project off the Open Handset Alliance (OHA)..
 First open, complete and free platform
 Software stack open-sourced under Apache 2..0 license
 Source code will be available and everyone will have the capability to
built an image
 The Android platform
 It includes an operating system,, a middleware and some applications..
 Lightweight and full featured
 Developers can extend and replace existing components
 A generous development environment
 A SDK is available to build, compile, test and debug user applications..
 Applications are developed using Java programming language
 No difference between the built-in applications and the user ones

Downloaded from FaaDoOEngineers.com


The Android platform

 Linux Kernel
 Native Libraries
 Android Runtime
 Applicatiion Framework…
 Anatomy of an Android application
 Creating and deploying an application

Downloaded from FaaDoOEngineers.com


Why Android ?
 Full phone software stack including
applications
 Designed as a platform for software
development
 Android is open
 Android is free
 Community support
 Tool support
 100% Java Phone

Downloaded from FaaDoOEngineers.com


Android – what is it?

 software stack for mobile devices


 incl. OS, middleware and key applications
 Open source – source code is open and
contributions are welcome
 application framework enabling
reuse/replacement of apps
 integrated browser based on webkit

Downloaded from FaaDoOEngineers.com


Android – what is it?

 Optimized graphics – 2D graphics library, 3D


based on OPEN GL ES
 Media support (MPEG4, H.264, MP3, AAC,
JPG, PNG,…)
 Support for radio interfaces, Bluetooth, WiFi,
Camera, GPS, accelerometer
 Software Development Kit (SDK)
 Preinstalled applications from Google (GMS)
 Gmail, Maps, Search, Voice Search, Youtube

Downloaded from FaaDoOEngineers.com


Software Stack

 Linux kernel
 Libraries
 Android run time
 core libraries
 Dalvik virtual machine

 application layer
 application protocol

Downloaded from FaaDoOEngineers.com


Android GUI

 Java 1.5 support


 GUI is fully written in Java
 but it is not AWT / Swing
 and neither J2ME LCDUI
 Widget toolkit
 XML based GUI
 (Touch) screen
 Might have a keyboard

Downloaded from FaaDoOEngineers.com


Android applications are
compiled to Dalvik bytecode
Write app in Java
Compiled in Java

Transformed to Dalvik bytecode

Loaded into Dalvik VM

Linux OS

Downloaded from
Bruce Scharlau, FaaDoOEngineers.com
University of Aberdeen, 2010
The Dalvik runtime is optimised
for mobile applications

Run multiple VMs


efficiently
Each app has its own VM

Minimal memory footprint


Downloaded from
Bruce Scharlau, FaaDoOEngineers.com
University of Aberdeen, 2010
Android Architecture

Downloaded from FaaDoOEngineers.com


Linux Kernel

• Works as a HAL
• Device drivers
• Memory management
• Process management
• Networking

Downloaded from FaaDoOEngineers.com


Libraries

• C/C++ libraries
• Interface through Java
• Surface manager – Handling UI Windows
• 2D and 3D graphics
• Media codecs, SQLite, Browser engine

Downloaded from FaaDoOEngineers.com


Android Runtime

• Dalvik VM
– Dex files
– Compact and efficient than class files
– Limited memory and battery power
• Core Libraries
– Java 5 Std edition
– Collections, I/O etc…

Downloaded from FaaDoOEngineers.com


Application Framework

• API interface
• Activity manager – manages application
life cycle.

Downloaded from FaaDoOEngineers.com


Applications

• Built in and user apps


• Can replace built in apps

Downloaded from FaaDoOEngineers.com


Application Framework
 Rich, extensible set of Views
 apps can inclused lists, grids, text boxes, buttons,
web browser
 Content Providers
 allows data access from other applications or share
own data
 Resource Manager
 access to localized strings, graphics, layout files
 Notification Manager
 enables custom alerts to be displayed in status bar
 Activity Manager
 Manages lifecycle of applications and provides
navigation backstack
Downloaded from FaaDoOEngineers.com
There is a common file structure
for applications

code
Autogenerated
files resource list
images

UI layouts

constants

Downloaded from
Bruce Scharlau, FaaDoOEngineers.com
University of Aberdeen, 2010
Standard components form
building blocks for Android apps
Notifications
Has life-cycle
Activity
screen
Views
App to handle content
Intents
Background app
Service Like music player

manifest

ContentProviders Other applications

Downloaded from
Bruce Scharlau, FaaDoOEngineers.com
University of Aberdeen, 2010
Android applications have
common
Views such as structure
lists, grids, text An Activity Manager that
boxes, buttons, manages the life cycle of
and even an applications and provides
embeddable web a common navigation
browser backstack

Content A Notification Manager


Providers that that enables all apps to
enable display custom alerts in the
applications to status bar
access data from
other applications
A Resource Manager,
(such as
providing access to non-
Contacts), or to
code resources such as
share their own
localized strings,
data
graphics, and layout files
Downloaded from
Bruce Scharlau, FaaDoOEngineers.com
University of Aberdeen, 2010
Android applications have
common structure
Broadcast
Activity is the presentation
receivers can
layer of your app: there will
trigger intents that
be one per screen, and the
start an application
Views provide the UI to the
activity
Data storage
provide data for
Intents specify what
your apps, and
specific action should be
can be shared
performed
between apps –
database, file,
and shared Services run in the
preferences background and have
(hash map) used no UI for the user –
by group of they will update data,
applications and trigger events

Downloaded from
Bruce Scharlau, FaaDoOEngineers.com
University of Aberdeen, 2010
Application Fundamentals
 Activities
 application presentation layer
 Services
 invisible components, update data sources, visible activities, trigger notifications
 perform regular processing even when app is not active or invisible
 Content Providers
 shareable data store
 Intents
 message passing framework
 broadcase messages system wide, for an action to be performed
 Broadcast receivers
 consume intent broadcasts
 lets app listen for intents matching a specific criteria like location
 Notifications
 Toast notification
 Status Bar Notification
 Dialog notification

Downloaded from FaaDoOEngineers.com


Downloaded from FaaDoOEngineers.com
Applications

 All apps (native and 3rd party) are written using


the same APIs and run on the same run time
executable
 All apps have APIs for hardware access,
location-based services, support for
background services, map-based activities, 2D
and 3D graphics.
 App Widgets are miniature app views that can
be embedded in other apps like Home Screen

Downloaded from FaaDoOEngineers.com


App Priority and Processes
 Android apps do not have control over their
own life cycles
 Aggressively manages resources to ensure
device responsiveness and kills process/apps
when needed

 Active Process – critical priority


 Visible Process – high priority
 Started Service Process
 Background Process – low priority
 Empty process

Downloaded from FaaDoOEngineers.com


Client apps
 Developed using the Android SDK and
installed on user devices
 Compiled Java code, with data and resource –
bundled by Android Asset Packaging tool
(AAPT) into Android package or .apk
 All applications have Android Manifest file in its
root directory
 provides essential information about app
 Could be installed directly on phone, but
necessary to be distributed thru Market

Downloaded from FaaDoOEngineers.com


Web Apps

 An alternative to standalone apps


 Developed using web standards and
accessed through browser – nothing to
install on devices
 Mixing client and web apps is also
possible – Client apps can embed web
pages using “Webview” in Android app

Downloaded from FaaDoOEngineers.com


SDK
 Android APIs, Full Documentation and Sample code
 Development tools
 Dalvik Debug Monitor Service (DDMS)
 Android Debug Bridge (ADB)
 Android Emulator
 Online support and blog
 Native Development Kit also available
 allows developers to implement parts of apps in native-
code languages like C/C++
 Plug in available to use Eclipse integrated development
environment
 Developer forums and developer phones from Google,
MOTO Dev studio from Motorola

Downloaded from FaaDoOEngineers.com


Android Market
 Google Market - Part of GMS apps
 3rd party apps submitted to Google, approved and distributed
through Market
 Both Free and Paid apps
 Apps now limited to 50 MB; updates possible through Market
 Monetization through ads available
 Available in many countries, not all countries have support for paid
apps
 Other Market place applications available – Amazon has announced
its own Android Market place
 App searches filtered based on Manifest file (eg. if a device does not
have trackball, apps using trackball will be filtered out)
 Every app publishes a list of components the app will access and
permissions need to be granted before installation
 Apps installed on device and SD card (SD Card from Froyo)

Downloaded from FaaDoOEngineers.com


Search
 Core feature in android
 User should be able to search any data on
device or internet
 Usually one of the android buttons
 Search suggestions based on recent queries
 Provide custom search suggestions that match
actual results in application data
 system side Quick Search Box
 Voice Search available and enhanced in recent
releases

Downloaded from FaaDoOEngineers.com


Locations & Maps

 Compelling and most popular apps for


mobile devices
 Google Maps provides free navigation
 applications allowed access to location
services supported by device
 Google provides Maps external library
 allows built-in downloading, rendering and
caching of Maps tiles, and other display
options and controls

Downloaded from FaaDoOEngineers.com


Device Administration

 Froyo introduces support for enterprise


applications with Device Administraion
API
 allows to create security-aware
applications to control employee devices
 Apps might include
 Email clients
 remote wipe

 device management services and apps


Downloaded from FaaDoOEngineers.com
Android Software Updates
 Android 1.0 – G1
 1.5 – Cupcake
 1.6 – Donuts (CDMA support)
 2.0 – Éclair (Droid introduced with Éclair)
 2.2 – Froyo
 2.3 Gingerbread (SDK released 2 weeks ago and source
will follow soon)
 API Levels used by apps to identify software version on
the device
 Android apps are generally forward compatible with
newer version, but not necessarily backwards
compatible

Downloaded from FaaDoOEngineers.com


Compatibility
 Why?
 Allow customizable devices
 Create Common eco system
 Android compatibility is free and easy
 Obtain Android source code
 Comply with Android Compatibility Definition (ACD) doc
 List requirements that need to be met for devices to be compatible with a
particular version on Android
 Pass the Compatibility Test Suite (CTS)
 Automated test harness running on desktop, manages test exectuion
 Test cases written, packaged as .apk to run on actual device or emulator
 Porting guide available for bringing up Android on custom
HW

Downloaded from FaaDoOEngineers.com


Other possibilities

 Google TV - a new platform based on


Android
 Tablets – Samsung Galaxy tab
introduced in Oct 2010
 eBook reader – Latest Barnes and Noble
Nook is an Android tablet

Downloaded from FaaDoOEngineers.com


A real word example I

 A translater for Android


 You cannot read anything
 If you are in a country where no one
understands your language
 No aditional device needed
 You have your mobile phone always
with you

Downloaded from FaaDoOEngineers.com


A real word example II

 Uses the google translator


 Can be extended with new languages
 Adaptive GUI
 Uses XMPP for data transmission
 GUI fully defined in XML
 Uses camera input and OCR

Downloaded from FaaDoOEngineers.com


Resources

 http://www.android.com
 http://http://androiddevelopers.blogspot.c
om
 http://developer.motorola.com/

Downloaded from FaaDoOEngineers.com


Downloaded from FaaDoOEngineers.com
Thanks

Downloaded from FaaDoOEngineers.com

You might also like