Android Introduction Based on slides made by

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Google Android Introduction to Mobile Computing. Android is part of the build a better phone process Open Handset Alliance produces Android Comprises.
Android OS Kesav Kaliyaperumal
Introduction.  Professor  Adam Porter 
Mobile Application Development with ANDROID Mobile Application Development with ANDROID d.
What is Android?.
Android architecture overview
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Android Platform Overview (1)
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Mobile Application Development
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
Android An open handset alliance project Janice Garcia September 18, 2008 MIS 304.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Wentworth Institute of Technology Elec101 07/08 Douglas A. Arevalo-Santos.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
S MARTPHONE A PPLICATION D EVELOPMENT Sam Palmer.
Introduction to Android Platform Overview
Android Introduction Platform Overview.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
Mobile Application Development using Android
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Android for Java Developers Denver Java Users Group Jan 11, Mike
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Android. Basic Architecture Linux Kernel Libraries Applications Android Runtime Application Framework.
1 Android Introduction Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Android Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Analysis And Research Of System Security Based On.
J.BHAVANA 3/4B.TECH CSE Ch.Rochasmathi 3/4B.tech CSE.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Android. I. What’s Android Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google. Android is designed.
 Android 1.0 September 23, 2008  Android 1.1 February 9, 2009  Android 1.5 Cupcake April 30, 2009.
 This work confers an application which makes possible to use a Bluetooth enabled mobile phone to remote control home appliances such electric fan, LEDs.
ANDROID OS Ravi Soni MTech (CS) III Sem. W HAT IS A NDROID ? Android is a software stack for mobile devices that includes an operating system, middleware.
Vijetha Prabhu B & Sushmitha Shenoy. Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
Presented by: Saurabh Kumar Sinha (MRT07UGBIT 186) IT VII Semester, Shobhit University Meerut.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Computer System Structures
Android Mobile Application Development
Android Application -Architecture.
Operating Systems Case Study
Visit for more Learning Resources
Architecture of Android
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Chapter 2: Operating-System Structures
chapter 6- Android Introduction
Android.
Contents: Introduction Different Mobile Operating Systems
CMPE419 Mobile Application Development
Department Of Computer Science Gulbarga University Gulbarga
SE4S701 Mobile Application Development
Application Development A Tutorial Driven Course
Android Introduction Platform Mihail L. Sichitiu.
Korea Software HRD Center
Android Platform, Android App Basic Components
CMPE419 Mobile Application Development
Presentation transcript:

Android Introduction Based on slides made by Mihail L. Sichitiu and Kesav Kaliyaperumal and also from wikipedia

What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications.

Android OS an open-source operating system based on the Linux kernel designed primarily for touchscreen mobile devices such as smartphones and tablet computers 1 billion Android devices have been activated 48 billion apps have been installed

Phones HTC G1, Droid, Tattoo Motorola Droid (X) Sony Ericsson Suno S880 Samsung Galaxy @2011 Mihail L. Sichitiu

Tablets Velocity Micro Cruz Gome FlyTouch Acer beTouch Toshiba Android SmartBook Cisco Android Tablet Dawa D7 @2011 Mihail L. Sichitiu

Others Google Glasses Portable/Car Devices Watches SmartTV

MarketShare Feb’10 May’10 Apr’11 RIM 42.1% 41.7% 29% Apple 25.4% 24.4% 25% Google 9% 13% 33% Microsoft 15.1% 13.2% 7.7% Palm 5.4% 4.8% 2.9% Now (November 2013): 80% @2011 Mihail L. Sichitiu

Android OS Interface Android's user interface is based on direct manipulation: using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects.

Android OS Memory management Android is designed to manage memory (RAM) to keep power consumption at a minimum, in contrast to desktop operating systems which generally assume they are connected to unlimited. When an Android app is no longer in use, the system will automatically suspend it in memory – while the app is still technically "open“.

Android OS Memory management Android manages the apps stored in memory automatically: when memory is low, the system will begin killing apps and processes that have been inactive for a while, in reverse order since they were last used (i.e. oldest first). This process is designed to be invisible to the user, such that users do not need to manage memory or the killing of apps themselves.

Android App Priority and Processes Android apps do not have control over their own life cycles Aggressively manages resources to ensure device responsiveness and kills process/apps when needed Active Process – critical priority Visible Process – high priority Started Service Process Background Process – low priority Empty process

Linux Kernel and Storage Management The flash storage on Android devices is split into several partitions, such as /system for the operating system itself, and /data for user data and application installations. In contrast to desktop Linux, Android device owners are not given root access to the operating system and sensitive partitions such as /system are read-only. However, root access can be obtained by exploiting security flaws in Android.

Software Stack Linux kernel Libraries Android run time core libraries Dalvik virtual machine application layer application protocol

Android Architecture

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. @2011 Mihail L. Sichitiu

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. @2011 Mihail L. Sichitiu

Android S/W Stack – App Framework (Cont) Features Feature Role View System Used to build an application, including lists, grids, text boxes, buttons, and embedded web browser Content Provider Enabling applications to access data from other applications or to share their own data Resource Manager Providing access to non-code resources (localized strings, graphics, and layout files) Notification Manager Enabling all applications to display customer alerts in the status bar Activity Managing the lifecycle of applications and providing a common navigation backstack @2011 Mihail L. Sichitiu

Android S/W Stack - Libraries Including a set of C/C++ libraries used by components of the Android system Exposed to developers through the Android application framework @2011 Mihail L. Sichitiu

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 @2011 Mihail L. Sichitiu

JVM

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 @2011 Mihail L. Sichitiu

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 @2011 Mihail L. Sichitiu

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 @2011 Mihail L. Sichitiu