Introduction to Android, Architecture & Components
1. Introduction to Android
and
Its Components
Sisoft Technologies Pvt Ltd
SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad
Website: www.sisoft.in Email:info@sisoft.in
Phone: +91-9999-283-283
1
2. 1. Introduction
What is Android?
•
A software platform and operating system for mobile devices.
•
As Smart phone OS, it is based on the Linux kernel.
•
Android is Framework for developing mobile apps. Framework is set of
Interfaces and classes .Framework follow the structure.
•
Allows writing managed code in the Java language.
•
Android is an open-source platform founded in October 2003 by Andy Rubin
and backed by Google in November 2007.
•
Developed by Google and later the Open Handset Alliance (OHA).
•
Unveiling of the Android platform was announced on 5 November
2007(Android beta) with the founding of OHA.
www.sisoft.in
2
6. 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
www.sisoft.in
6
7. Application Framework
• API interface
• Activity manager :- manages application life
cycle.
• XMPP Service :- Extensible Messaging and
Presence Protocol (XMPP) is a communications
protocol for message-oriented middleware based on
XML
www.sisoft.in
7
11. Version History
•
Android beta
The Android beta was released on 5 November 2007,while the software
development kit(SDK) was released on 12 November 2007.
•
Android 1.0
Android 1.0, the first commercial version of the software, was released on 23
September 2008.
•
Android 1.1
On 9 February 2009, the Android 1.1 update was released, initially for the HTC
Dream only. Android 1.1 was known as "Petit Four" internally, though this name
was not used officially. The update resolved, changed the Android API and added a
number of features.
www.sisoft.in
11
12. Version History
•
Android 1.5 Cupcake
Release on 30 April 2009, the Android 1.5 update was released, based on Linux
kernel 2.6.27. This was the first release to officially use a name based on a
dessert ("Cupcake"), a theme which would be used for all releases henceforth.
The update included several new features and UI amendments .
•
Android 1.6 Donut
Release on 15 September 2009, the Android 1.6 SDK – dubbed Donut – was
released, based on Linux kernel 2.6.29.Included in the update were numerous new
features.
www.sisoft.in
12
13. Version History
•
Android 2.0/2.1 Eclair
Release on 26 October 2009, the Android 2.0 SDK – codenamed Eclair – was
released, based on Linux kernel 2.6.29. Changes included
•
Android 2.2.x Froyo
Release on 20 May 2010, Android 2.2 (Froyo, short for Frozen Yogurt) SDK was
released, based on Linux kernel 2.6.32
•
Android 2.3.x Gingerbread
Release on 6 December 2010, the Android 2.3 (Gingerbread) SDK was released,
based on Linux kernel 2.6.35. Changes included
www.sisoft.in
13
14. Android 3.x Honeycomb
Android 3.x Honeycomb: Release on 22 February 2011, the Android3.0
(Honeycomb) SDK – the first tablet-only
Android update – was released, based
on Linux kernel 2.6.36. The first device
featuring this version, the Motorola Xoom
tablet, was released on 24 February 2011.
www.sisoft.in
14
15. Android 4.0.x Ice Cream Sandwich
•
Android 4.0.x Ice Cream Sandwich
The SDK for Android 4.0.1 (Ice Cream Sandwich),
based on Linux kernel 3.0.1, was publicly released
on 19 October 2011.Google's Gabe Cohen stated
that Android 4.0 was "theoretically compatible" with
any Android 2.3.x device in production at that time.
The source code for Android 4.0 became available
on 14 November 2011. The update introduced
numerous new features, including:
www.sisoft.in
15
16. Android 4.1/4.2 Jelly Bean
Android 4.1/4.2 Jelly Bean
Google announced Android 4.1 (Jelly Bean)
at the Google I/O conference on 27 June 2012.
Based on Linux kernel 3.0.31, Jelly Bean was an
incremental update with the primary aim of improving
the functionality and performance of the user
Interface.
The performance improvement involved "Project
Butter", which uses touch anticipation, triple
buffering, extended vsync timing and a fixedframe
rate of 60 fps to create a fluid and "buttery-smooth" UI.
Android 4.1Jelly Bean was released to the Android Open Source
Project on 9 July 2012, and the Nexus 7 tablet, the first device to run
Jelly Bean, was released on 13 July 2012.
www.sisoft.in
16
17. Android 4.1/4.2 Jelly Bean
Google was expected to announce Jelly Bean
4.2 at an event in New York City on 29 October
2012, but the event was cancelled due to
Hurricane Sandy. Instead of rescheduling the
live event, Google announced the new version
with a press release, under the slogan "A new
flavor of Jelly Bean". The first devices to run
Android 4.2 were LG‘s Nexus 4 and Samsung‘s
Nexus 10, which were released on 13 November
2012.
www.sisoft.in
17
20. Application Building Blocks
Android applications consist of loosely coupled components, bound by the
application manifest that describes each component and how they interact. The
manifest is also used to specify the application’s metadata, its hardware and
platform requirements, external libraries, and required permissions
•
•
•
•
•
•
•
•
Activity
Service
Content Provider
Broadcast receivers
Intent
Notifications
Resources
Fragments
www.sisoft.in
20
21. Activities : Screen Holder
• An Activity represents the visual representation of an
Android application. Typically correspond to one UI
screen
• One activity in an application is specified as the
"main" activity, which is presented to the user when
launching the application for the first time
• An application usually consists of multiple activities
that are loosely bound to each other
www.sisoft.in
21
22. Activities start each other
Moving from one activity to another is accomplished by having the
current activity start the next one through so called intents.
www.sisoft.in
22
23. Activities – The View
• Each activity has a default window to draw in
(although it may prompt for dialogs or notifications)
• The content of the window is a view or a group of
views (derived from View or ViewGroup)
• Example of views: buttons, text fields, scroll bars,
menu items, check boxes, etc.
• View(Group) made visible via
Activity.setContentView() method.
www.sisoft.in
www.sisoft.in
24. Services: Background component
• A service is a component which runs in the
background, without direct interaction with
the user
• The Android platform provides and runs
predefined system services and every Android
application can use them, given the right
permissions.
www.sisoft.in
24
25. Broadcast Receivers: Passive Actor
• Receive and react to broadcast
announcements
• Examples of broadcasts:
– Low battery, power connected, shutdown,
timezone changed, etc.
– Other applications can initiate broadcasts
• To create a new Broadcast Receiver, extend
the BroadcastReceiver class and override the
onReceive event handler
25
www.sisoft.in
26. Content Providers: Data Access Mechanism
• Makes some of the application data available
to other applications
• It’s the only way to transfer data between
applications in Android (no shared files,
shared memory, pipes, etc.)
• Extends the class ContentProvider;
• Other applications use a ContentResolver
object to access the data provided via a
ContentProvider
26
www.sisoft.in
27. Intent: Messenger
• An intent is an abstract description of an operation
to be performed
• Moving from one activity to another is accomplished
by having the current activity start the next one
through intents
• The intents can communicate messages among any
of the three core components of an application activities, services, and broadcast receivers
• Data across components is also passed thru intents
www.sisoft.in
27
28. Notifications: Reminding User
• Android allows to put notification into the Title bar of your
application. The user can expand the notification bar and by
selecting the notification the user can trigger another activity.
• There are three types of notifications in Android.
Toast Notifications
Status Bar Notifications
Dialog Notifications
Toast Notification
Status Bar Notifications
Dialog Notifications
www.sisoft.in
28
29. Resources: App Program Data
• Android supports that resources like images and certain XML
configuration files, can be kept separate from the source
code.
• Resource files must be placed in the /res directory in a
predefined sub-folder dependent on their type. You can also
append additional qualifiers to the folder name to indicate
that the related resources should be used for special
configurations.
• For example, you can specify that layout file is only valid for a
certain screen size.
www.sisoft.in
29
30. Widgets
• Visual application components that are typically added to the
device home screen.
• A special variation of a Broadcast Receiver, widgets enable
you to create dynamic, interactive application components
for users to embed on their home screens.
www.sisoft.in
30
Hinweis der Redaktion
ARM(Advanced RISC Machine), RISC = reduced instruction set computer
ok
The Hardware Abstraction Layer (HAL) :-Traditionally, desktop applications discovered hardware by communicating directly with the kernel, which maintains the list of devices connected to the system. The Hardware Abstraction Layer (HAL) makes information about certain classes of hardware accessible in a uniform format.