Android Architecture. Alexandra Harrison & Jake Saxton



Similar documents
Android 5.0: Lollipop OS

Lecture 1 Introduction to Android

01. Introduction of Android

An Introduction to Android

Android Operating System:

ANDROID OPERATING SYSTEM

CS378 -Mobile Computing. Android Overview and Android Development Environment

Mobile Phones Operating Systems

Programming the Android Platform. Logistics

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

Introduction to Android

ANDROID. Programming basics

Android Programming and Security

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

Android Operating System

Smartphone market share

The Android Platform

Overview of CS 282 & Android

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет

Google Android: An Emerging Innovative Software Platform For Mobile Devices

Introduction to Android

Programming with Android

Mobile Application Development 2014

Praktikum Entwicklung Mediensysteme (für Master)

Getting started with Android and App Engine

ITG Software Engineering

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

An Introduction to Android. Huang Xuguang Database Lab. Inha University

Example of Standard API

Creating and Using Databases for Android Applications

Here to take you beyond Mobile Application development using Android Course details

Remote Desktop on Mobile

ANDROID INTRODUCTION TO ANDROID

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

What is Android? originally purchased from Android, Inc. in 2005

Choosing a Mobile Application Development Approach

Android Architecture Diagram:

OMX, Android, GStreamer How do I decide what to use? 15 July 2011

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc.

A Short Introduction to Android

Basics. Bruce Crawford Global Solutions Manager

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Android Basics. Xin Yang

Development. SriSeshaa Technologies. Table of Contents

Cell Phone Operating Systems

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

TUTORIALS AND QUIZ ANDROID APPLICATION SANDEEP REDDY PAKKER. B. Tech in Aurora's Engineering College, 2013 A REPORT

Evolution of Smartphones And Android Operating System

Workshop on Android and Applications Development

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

Mobile Operating Systems. Week I

Android v ios Mobile Operating Systems

Analysis of advanced issues in mobile security in android operating system

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Berlin Institute of Technology FG Security in Telecommunications

Overview. The Android operating system is like a cake consisting of various layers.

Synthesis for Developing Apps on Mobile Platforms

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Review On Google Android a Mobile Platform

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

Mobile App Development

Introduction to Android

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Developing an Android Framework and Exemplar App for WPI Suite

Issues in Android on Mobile Platform and Their Resolution

How To Develop An Android App On An Android Device

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Android (Basic + Advance) Application Development

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

Application of Android OS as Real-time Control Platform**

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Mobile Applications Grzegorz Budzyń Lecture. 2: Android Applications

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

International Engineering Journal For Research & Development

Developing Applications for ios

Android Geek Night. Application framework

Deployment of Mobile Application for Multiplatform Operating Systems

Cross-Platform Development

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

Developing Android Applications Introduction to Software Engineering Fall Updated 7 October 2015

Introduction to Android Development. Ed Burnette

INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011

Hacking your Droid ADITYA GUPTA

Building an Android client. Rohit Nayak Talentica Software

Henry Ford Health System Citrix Access Gateway Support Details

Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser

Research and Design of Universal and Open Software Development Platform for Digital Home

REQUEST FOR PROPOSALS

Android Commercial Spyware Disease and Medication

Transcription:

Android Architecture Alexandra Harrison & Jake Saxton

Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary

History 2003 Founded No product for two years, funded by Andy Rubin Planned the next generation of smartphones Open source evolution of Danger 2005 Purchased by Google Sooner or G1? 2007 Publically announced 2008 Sold first phone G1

Previous Versions Lollipop 09/2014 Marshmallow 09/2014

Previous Versions Unnamed (1.0 + 1.1) Cupcake (1.5) Donut (1.6) Quick Search Box Cupcake Ice Cream Sandwich Lollipop Éclair (2.1) High Density Displays, Traffic + Navigation Froyo (2.2) Voice Control, Hotspot, Speed Gingerbread (2.3) Simpler, Battery Life, More apps Honeycomb (3.0) Flexible interface, tablets Ice Cream Sandwich (4.0) - Customization Jelly Bean (4.1) Google Now, actionable notifications KitKat (4.4) Ok Google, voice control variety Lollipop (5.0) fluid tactile screens Marshmallow (6.0) battery life, app permissions, UI

Linux Kernel 3.6 with ~115 patches Generic System Services Permissions Memory and Process management File & Network I/O Device Drivers Preemptive Multitasking Lean, efficient, and secure Open Source

Hardware Abstraction Layer (HAL) Software hooks between stack and hardware Hardware Specific Allows Applications to be hardware ignorant

Android Runtime Dalvik Virtual Machine Core Java libraries Specific to Android development Apple: Swift (Objective C) Windows: Visual C++ (C++), Changes with OS Wrappers around C/C++ libraries ART (Android Runtime VM) Replaced Dalvik in Lollipop (Android 5.0) Advantages over Dalvik AOT (Ahead of Time) Compilation Improved Garbage Collection

Dalvik Virtual Machine Executes Android Applications Each Application runs within its own VM Each app is sandboxed Memory Management Multi-threading

Libraries C/C++ Play and record audio and video Internet Security User interface building Graphics Database access

Library Examples WebKit Web Browser Engine OpenGL High Performance Graphics Render 2D or 3D Graphic Content libc Generic C library SQLite Storage and sharing of application data

Library Examples Cont. Surface Manager Off-screen buffering Apps can t directly draw into screen Drawings go to off-screen buffer Combined with other drawings Reason behind window transparency Media Framework Provides media codecs allowing recording and playback of different types of media

Application Framework Higher Level Services to Applications Environment in which applications are run and managed Package Manager Keeps track of installed Applications Apps can communicate with other Apps on device Window Manager Manages main window that comprises Application

Application Framework Cont. View System Provide Common User Interface Elements Icons Buttons Text Entry Etc. Content Providers Databases that allow application to store and share structured info

Application Framework Cont. Location Manager Allows application to receive location and movement info generated by GPS Activity Manager Manages activity life cycle of applications Telephony Manager Manages all voice calls

Application Framework Cont. Resource Manager Manage various types of resources used in applications Allows access to non-code embedded resources Strings Color settings UI Layout Notifications Manager Allows applications to display alerts

Applications Hosts Android Applications Written in Java Access to all Android APIs Executed in the VM (Dalvik or ART) Examples SMS client app Dialer Web Browser Contact manager

Conclusion Designed for mobile and flexibility Both in software and hardware 5 Layers Application Development Simple Java Access to all aspects of the Kernel Open Source APIs