introduction to android, architecture & components
DESCRIPTION
Overview of Android Android Architecture Android componentsTRANSCRIPT
Introduction to Android Introduction to Android and and
Its ComponentsIts Components
1
Sisoft Technologies Pvt LtdSisoft Technologies Pvt LtdSRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, GhaziabadSRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad
Website: Website: www.sisoft.in Email:[email protected] Email:[email protected]: +91-9999-283-283Phone: +91-9999-283-283
1. IntroductionWhat 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.
2www.sisoft.in
Android Architecture
3www.sisoft.in
Linux Kernel
• Works as a Hardware Abstraction Layer (HAL)
• Device drivers• Memory management• Process management• Networking
4www.sisoft.in
Libraries
• C/C++ libraries• Interface through Java• Surface manager – Handling UI Windows• 2D and 3D graphics• Media codecs, SQLite, Browser engine
5www.sisoft.in
Android Runtime
• Dalvik VMDex filesCompact and efficient than class filesLimited memory and battery power
• Core Libraries Java 5 Std editionCollections, I/O etc
6www.sisoft.in
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
7www.sisoft.in
Applications
• Built in and user apps
• Can replace built in apps
8www.sisoft.in
www.sisoft.in 9
Version History
Android Version & API Level
www.sisoft.in 10
Platform Version API Level VERSION_CODE
Android 4.4 19 KITKAT
Android 4.3 18 JELLY_BEAN_MR2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
Android 4.1, 4.1.1 16 JELLY_BEAN
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.0.x 11 HONEYCOMB
Android 2.3.4 , Android 2.3.3 10 GINGERBREAD_MR1
Android 2.3.2 , Android 2.3.1, Android 2.3 9 GINGERBREAD
Android 2.2.x 8 FROYO
Android 2.1.x 7 ECLAIR_MR1
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT
Android 1.5 3 CUPCAKE
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.
11www.sisoft.in
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.
12www.sisoft.in
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
13www.sisoft.in
Android 3.x HoneycombAndroid 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.
14www.sisoft.in
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:
15www.sisoft.in
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 anincremental update with the primary aim of improving the functionality and performance of the user Interface. The performance improvement involved "ProjectButter", 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 SourceProject on 9 July 2012, and the Nexus 7 tablet, the first device to run Jelly Bean, was released on 13 July 2012.
16www.sisoft.in
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.
17www.sisoft.in
Android 4.3 /Android 5.0
• Android 4.3 Kitkat
18www.sisoft.in
Application Building Application Building BlocksBlocks
19
Sisoft Technologies Pvt LtdSisoft Technologies Pvt LtdSRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, GhaziabadSRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad
Website: www.sisoft.in Email:[email protected]: www.sisoft.in Email:[email protected]: +91-9999-283-283Phone: +91-9999-283-283
Application Building Blocks
• Activity• Service• Content Provider• Broadcast receivers• Intent• Notifications• Resources• Fragments
20www.sisoft.in
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
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
21www.sisoft.in
Activities start each other
22www.sisoft.in
Moving from one activity to another is accomplished by having the current activity start the next one through so called intents.
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
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.
24www.sisoft.in
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
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
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
27www.sisoft.in
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
www.sisoft.in28
Toast Notification Status Bar Notifications Dialog Notifications
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.in29
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.in30