Introduction to Android, Architecture & Components


Published on

Overview of Android
Android Architecture
Android components

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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.
  • Introduction to Android, Architecture & Components

    1. 1. Introduction to Android and Its Components Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: Phone: +91-9999-283-283 1
    2. 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. 2
    3. 3. Android Architecture 3
    4. 4. Linux Kernel • • • • • Works as a Hardware Abstraction Layer (HAL) Device drivers Memory management Process management Networking 4
    5. 5. Libraries • • • • • C/C++ libraries Interface through Java Surface manager – Handling UI Windows 2D and 3D graphics Media codecs, SQLite, Browser engine 5
    6. 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 6
    7. 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 7
    8. 8. Applications • Built in and user apps • Can replace built in apps 8
    9. 9. Version History 9
    10. 10. Android Version & API Level 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 10
    11. 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. 11
    12. 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. 12
    13. 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 13
    14. 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. 14
    15. 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: 15
    16. 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. 16
    17. 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. 17
    18. 18. Android 4.3 /Android 5.0 • Android 4.3 Kitkat 18
    19. 19. Application Building Blocks Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: Phone: +91-9999-283-283 19
    20. 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 20
    21. 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 21
    22. 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. 22
    23. 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.
    24. 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. 24
    25. 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
    26. 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
    27. 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 27
    28. 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 28
    29. 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. 29
    30. 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. 30