Introduction.  Professor  Adam Porter 

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.
David Angulo Rubio ANDROID OS Open Software Platform for Mobile Devices.
What is Android?.
Android architecture overview
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Android Platform Overview (1)
Android Aims to bring Internet-style innovation and openness to mobile phones.
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.
© 2010 MindTree Limited CONFIDENTIAL: For limited circulation only Slide 1 CONFIDENTIAL: For limited circulation only An automaton that is created from.
1 CSCE 4013: Mobile Systems Programming Nilanjan Banerjee Mobile Systems Programming University of Arkansas Fayetteville, AR
Mobile Application Development
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
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
Android Introduction Based on slides made by
Arpit Jain Mtech1. Outline Introduction Dalvik VM Java VM Examples Comparisons Experimental Evaluation.
@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 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
Roopa.T PESIT, Bangalore. Source and Credits Dalvik VM, Dan Bornstein Google IO 2008 The Dalvik virtual machine Architecture by David Ehringer.
Android architecture & setting up. Android operating system comprises of different software components arranges in stack. Different components of android.
ANDROID L. Grewe Components  Java Standard Development Kit (JDK) (download) (latest version)  AndroidStudio.
Educational & entertraiment applications on Android platform «Piano» and «Abetare» Anisa Shehu Prof. Asoc. Elinda Meçe 14 th Workshop “Software Engineering.
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.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Java & The Android Stack: A Security Analysis Pragati Ogal Rai Mobile Technology Evangelist PayPal, eBay Java.
RealTimeSystems Lab Jong-Koo, Lim
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.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Android Training in Chandigarh. What is Android Android is a mobile operating system based on the Linux Kernel. The goal of android project is to create.
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.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Computer System Structures
Android Mobile Application Development
Android Application -Architecture.
Visit for more Learning Resources
Architecture of Android
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Chapter 2: Operating-System Structures
chapter 6- Android Introduction
Contents: Introduction Different Mobile Operating Systems
CMPE419 Mobile Application Development
Mobile Handset Virtual Machine
ANDROID OS Architecture
Application Framework
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:

Introduction

 Professor  Adam Porter 

 Learn about  Mobile devices  Mobile device programming  The Android platform  Develop interesting Android applications  Expect lots of programming  Each student will do multiple projects

 Mix of lecture and programming exercises  2-3 hours of presentation  1-2 hour laboratory exercise

 A software stack for mobile devices:  Operating system, middleware & key applications  Use Android SDK to create applications  Libraries & development tools  Lots of documentation   Start browsing today!

 Abstraction layer between HW & SW  Provides services such as:  Security  Memory & process management  Network stack  Device driver model

 Android-specific components  Binder – IPC  Android shared memory  Power management  Alarm driver  Low memory killer  Kernel debugger & Logger

 C/C++ libraries  System C library ▪ bionic libc  Surface Manager ▪ display management  Media Framework ▪ audio/video  Webkit ▪ web browser engine  OpenGL ES, SGL ▪ graphics engines  SQLite ▪ relational database engine  SSL ▪ secure sockets layer

 Support services for executing applications  Core Libraries  Dalvik Virtual Machine

 Core Java classes  android.*  java.*, javax.*  junit.*  org.apache.*, org.json.*, org.xml.*  Doesn’t include all standard Java SDK classes  developer.android.com/reference/packages.html 

 Applications typically written in Java, but do not run in a standard Java virtual machine  dx program transforms java classes into.dex- formatted bytecodes  Bytecodes executed in Dalvik Virtual Machine  Applications typically run in their own processes, inside their own instance of the the Dalvik VM

 Dalvik VM designed to run on a handset  Slow CPU  Little RAM ▪ 64Mb total, ~10Mb available at runtime  No swap space  Limited battery life

 Some design choices  One.dex file for multiple classes  Modified garbage collection to improve memory sharing  Optimizations applied at installation time  register-based, rather than stack-based

 Memory .dex file has common constant pool for multiple classes  Modified garbage collection to improve memory sharing  CPU  Optimizations at installation time  register-based, rather than stack-based

 Expected benefits over stack-based VMs  Avoids slow instruction dispatch  Avoids unnecessary memory accesses  More efficient instruction stream

public static long sumArray(int[] arr) { long sum = 0; for (int i : arr) { sum += i; } return sum; }

0:lconst_0 1:lstore_1 2:aload_0 3:astore_3 4:aload_3 5:arraylength 6:istore4 8:iconst_0 9:istore5 11:iload5 13:iload4 15:if_icmpge36 18:aload_3 19:iload5 21:iaload 22:istore6 24:lload_1 25:iload6 27:i2l 28:ladd 29:lstore_1 30:iinc5, 1 33:goto11 36:lload_1 37:lreturn

0000: const-wide/16 v0, #long 0 // # : array-length v2, v8 0003: const/4 v3, #int 0 // #0 0004: move v7, v3 0005: move-wide v3, v0 0006: move v0, v7 0007: if-ge v0, v2, 0010 // : aget v1, v8, v0 000b: int-to-long v5, v1 000c: add-long/2addr v3, v5 000d: add-int/lit8 v0, v0, #int 1 // #01 000f: goto 0007 // : return-wide v3

 30% fewer instructions  35% fewer code units (1-byte vs. 2-byte instructions)  35% more bytes in the instruction stream ▪ but can consume instructions two bytes at a time  * See

 Window Manager  Manages top-level window’s look & behavior  View system  lists, grids, text boxes, buttons, etc.  Content Providers  Inter-application data sharing  Activity Manager  Application lifecycle and common navigation stack

 Package manager  Manages application packages  Telephony manager  State of telephony services  Resource Manager  Manages non-code resources: strings, graphics, and layout files  Location manager  Access to system location services  Notification Manager  Notify users when events occur

 Standard apps include:  Home – main screen  Contacts – contacts database  Phone – dial phone numbers  Browser – view web pages  reader – Gmail & others  Your App!