Transcript

1.
Introduction Android Platform

2.
Agenda
What Is Android?
What's Special about Android OS
What are the different Flavors of Android OS
What is Meant by an Open Source and how Android fits in to this Part
Contrasting and comparing Open Source Vs Traditional Development
Players behind the development of Android OS(OHA Group)
Advantages of Android and How Android can benefit you
Different Operating Systems that Support Android Application Development
Android architecture
Android application model

3.
What is open Source?
 Industry
 Software stack open-sourced under Apache 2.0 license
 Source available after first handsets ship
 Anyone will be able to build a system image
 Developer
 Don not need permission to ship an application
 No hidden or privileged framework APIs
 Can integrate, extend and replace existing components
 Users
 Users have control of their experience
 They control what gets installed
 They choose the defaults

4.
@2011 Mihail L. Sichitiu4
What is Android?
 An automaton that resembles a
human being
 Android is a software stack for
mobile devices that includes an
operating system, middleware and
key applications.

5.
Introduction to Android
 Android is an open-source software platform
created by Google and the Open Handset Alliance.
 It is primarily used to power mobile phones.
 Powered by Linux operating system.
 Fast application development in Java.
 Open source under the Apache license
 It has the capability to make inroads in many other
(non-phone) embedded application markets.

6.
Why Android
“We created Android in response to our own
experiences launching mobile apps. We wanted
to make sure that there was no central point
of failure, so that no industry player can
restrict or control the innovations of any
other. That's why we created Android, and
made its source code open.”
- Google -

7.
Android Open Source Project (AOSP)
 The goal of the Android Open Source Project is to create a
successful real-world product that improves the mobile experience
for end users.
 To get and compile Android source code:
http://source.android.com/source/initializing.html

20.
The Linux Kernel in Android
 • Android is based on the Linux kernel
 • Android is not Linux
 • No native windowing system
 • Does not include full set of standard linux utilities
 • Kernel source at http://git.android.com

23.
Linux Kernel
• Android relies on Linux version 2.6 for core system
services such as device drivers, security, memory
management ,process management.
• The kernel also acts as an abstraction layer between the
hardware and the rest of the software stack.

26.
Application Framework
 Framework elements are: Intents , Content Providers ,
Views and managers
 This layer has been designed to facilitate the reuse of
components in android
 Developers can build their applications to execute on
android kernel and inter-operate among themselves and
with existing applications

27.
Applications
• Android will ship with a set of core applications including an
a)Email client,
b)SMS program,
c)Calendar,
d)Contacts & others….
• All the applications are written using the Java programming
language.

30.
Android applications have common structure
30
Views such as
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 apps to display
custom alerts in the
status bar
An Activity Manager
that manages the life
cycle of applications and
provides a common
navigation backstack

31.
Android applications have common structure
Broadcast receivers
can trigger intents
that start an
application
Data storage
provide data for your
apps, and can be
shared between
apps – database,
file, and shared
preferences (hash
map) used by group
of applications
Services run in the
background and
have no UI for the
user – they will
update data, and
trigger events
Intents specify what
specific action should
be performed
Activity is the
presentation layer of
your app: there will be
one per screen, and the
Views provide the UI to
the activity