Android Introduction PDF
Document Details
Uploaded by InsightfulBandoneon
2017
G.sh
Tags
Summary
This document provides an introduction to Android, describing its features, architecture, and components. It explains fundamental concepts such as the Android stack layers and outlines the various components and libraries. It also touches upon different applications and versions of Android.
Full Transcript
Android Introduction Android stack layers @2017 G.sh 1 What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications....
Android Introduction Android stack layers @2017 G.sh 1 What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications. @2017 G.sh 2 OHA (Open Handset Alliance) A business alliance consisting of 47 companies to develop open standards for mobile devices @2017 G.sh 3 Phones HTC G1, Droid, Motorola Droid (X) Tattoo Suno S880 Samsung Galaxy Sony Ericsson @2017 G.sh 4 Tablets Velocity Micro Cruz Gome FlyTouch Acer beTouch Toshiba Android Cisco Android Tablet Dawa D7 SmartBook @2017 G.sh 5 Features of Android After learning what is android, let's see the features of android. The important features of android are given below: 1) It is open-source. 2) Anyone can customize the Android Platform. 3) There are a lot of mobile applications that can be chosen by the consumer. 4) It provides many interesting features like weather details, opening screen, live RSS (Really Simple Syndication) feeds etc. It provides support for messaging services(SMS and MMS), web browser, storage (SQLite), connectivity (GSM, CDMA, Blue Tooth, Wi-Fi etc.), media, handset layout etc. Android is a powerful operating system competing with Apple 4GS and supports great features. @2017 G.sh 6 Cont… @2017 G.sh 7 Cont… @2017 G.sh 8 Cont… @2017 G.sh 9 Architecture @2017 G.sh 10 Android S/W Stack - Application Android provides a set of core applications: Email Client SMS Program Calendar Maps Browser Contacts Etc All applications are written using the Java language. @2017 G.sh 11 Android S/W Stack – App Framework Enabling and simplifying the reuse of components Developers have full access to the same framework APIs used by the core applications. Users are allowed to replace components. @2017 G.sh 12 Android S/W Stack – App Framework (Cont) Features Feature Role View Used to build an application, including lists, grids, text System boxes, buttons, and embedded web browser Content Enabling applications to access data from other Provider applications or to share their own data Resource Providing access to non-code resources (localized strings, Manager graphics, and layout files) Notification Enabling all applications to display customer alerts in the Manager status bar Activity Managing the lifecycle of applications and providing Manager a common navigation backstack @2017 G.sh 13 Android S/W Stack - Libraries Includinga set of C/C++ libraries used by components of the Android system Exposed to developers through the Android application framework @2017 G.sh 14 Android S/W Stack - Runtime Core Libraries Providing most of the functionality available in the core libraries of the Java language APIs Data Structures Utilities File Access Network Access Graphics Etc @2017 G.sh 15 Cont… android.app − Provides access to the application model and is the cornerstone of all Android applications. android.content − Facilitates content access, publishing and messaging between applications and application components. android.database − Used to access data published by content providers and includes SQLite database management classes. android.opengl − A Java interface to the OpenGL ES 3D graphics rendering API. android.os − Provides applications with access to standard operating system services including messages, system services and inter-process communication. android.text − Used to render and manipulate text on a device display. android.view − The fundamental building blocks of application user interfaces. android.widget − A rich collection of pre-built user interface components such as buttons, labels, list views, layout managers, radio buttons etc. android.webkit − A set of classes intended to allow web-browsing capabilities to be built into applications. Having covered the Java-based core libraries in the Android runtime, it is now time to turn our attention to the C/C++ based libraries contained in this layer of the Android software stack @2017 G.sh 16 Linux kernel At the bottom of the layers is Linux - Linux 3.6 with approximately 115 patches. This provides a level of abstraction between the device hardware and it contains all the essential hardware drivers like camera, keypad, display etc. Also, the kernel handles all the things that Linux is really good at such as networking and a vast array of device drivers, which take the pain out of interfacing to peripheral hardware. @2017 G.sh 17 Android S/W Stack – Runtime (Cont) Dalvik Virtual Machine Providing environment on which every Android application runs Each Android application runs in its own process, with its own instance of the Dalvik VM. Dalvik has been written such that a device can run multiple VMs efficiently. Register-based virtual machine @2017 G.sh 18 Android S/W Stack – Runtime (Cont) Dalvik Virtual Machine (Cont) Executing the Dalvik Executable (.dex) format .dex format is optimized for minimal memory footprint. Compilation Relying on the Linux Kernel for: Threading Low-level memory management @2017 G.sh 19 Let's see the compiling and packaging process from the source file: @2017 G.sh 20 The javac tool compiles the java source file into the class file. The dx tool takes all the class files of your application and generates a single.dex file. It is a platform-specific tool. The Android Assets Packaging Tool (aapt) handles the packaging process. @2017 G.sh 21 Android S/W Stack – Linux Kernel Relying on Linux Kernel 2.6 for core system services Memory and Process Management Network Stack Driver Model Security Providing an abstraction layer between the H/W and the rest of the S/W stack @2017 G.sh 22 Categories of Android applications There are many android applications in the market. The top categories are: Entertainment Tools Communication Productivity Personalization Music and AudioSocial Media and Video Travel and Local etc. @2017 G.sh 23 Versions of Android The code names of android ranges from A to L currently, such as Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat and Lollipop. Let's understand the Android history in a sequence. @2017 G.sh 24 @2017 G.sh 25 What is API (Application Programming Interface) level? API Level is an integer value that uniquely identifies the framework API revision offered by a version of the Android platform. @2017 G.sh 26 Cont… @2017 G.sh 27