Lecture 1 - Introduction to Android

Similar documents
Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Android Internals. Lecture 1. Android and Low-level Optimizations Summer School. 13 July 2015

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Lecture 3 Android Internals

Mobile and Wireless Systems Programming

Lecture 2 Android SDK

Android Overview. Most of the material in this section comes from

Android. (XKE Mars 2009) Erwan Alliaume.

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

IJRDTM Kailash ISBN No Vol.17 Issue

SHWETANK KUMAR GUPTA Only For Education Purpose

Android Internals. Lecture 3. Operating Systems Practical. 19 October 2016

Mobile and Ubiquitous Computing: Android Programming (part 1)

Android Internals and the Dalvik VM!

Android System Development Training 4-day session

Android App Development

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

ANDROID NATIVE APP: INTRODUCTION TO ANDROID. Roberto Beraldi

Android App Development. Ahmad Tayeb

ANDROID SYLLABUS. Advanced Android

Android: Under the Hood. GDG-SG DevFest 5th Nov 2016 Jason Zaman

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android

Android Development Tutorial. Yi Huang

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Mobile Application Development

CS260 Intro to Java & Android 04.Android Intro

1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment?

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

COLLEGE OF ENGINEERING, NASHIK-4

Android App Development

SD Module- Android Programming

Introduction to Android

Software Development & Education Center ANDROID. Application Development

Android Programming in Bluetooth Cochlea Group

ITG Software Engineering

App Development for Android. Prabhaker Matet

Introduction To Android

Lecture 4 Native libraries

Android Overview. Francesco Mercaldo, PhD

ATC Android Application Development

Android Ecosystem and. Revised v4presenter. What s New

Kernel hacking su Android. Better Embedded Andrea Righi

Wirtschaftsinformatik Skiseminar ao. Prof. Dr. Rony G. Flatscher. Seminar paper presentation Dennis Robert Stöhr

Infrastructure Middleware (Part 3): Android Runtime Core & Native Libraries

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU

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

Android AOSP Overview. Karthik Dantu and Steve Ko

ios vs Android By: Group 2

Chapter 1 Hello, Android

Android. Michael Greifeneder. Image source: Android homepage

IJMIE Volume 2, Issue 4 ISSN:

Mobile Application Development - Android

Android Programming (5 Days)

Android Software Development Kit (Part I)

android application development CONTENTS 1.1 INTRODUCTION TO O ANDROID OPERATING SYSTEM... TURES Understanding the Android Software Stack...

Mobile Computing. Introduction to Android

Introduction to Mobile Application and Development

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Computer Science E-76 Building Mobile Applications

IJREAT International Journal of Research in Engineering & Advanced Technology, Volume 1, Issue 5, Oct-Nov, 2013 ISSN:

Pro Android 2. Sayed Y. Hashimi Satya Komatineni Dave Mac Lean. Apress

Android. Mobile operating system developed by Google A complete stack. Based on the Linux kernel Open source under the Apache 2 license

Applications Mobiles et Internet des Objets Introduction a l architecture d Android

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

Around Android. Essential Android features illustrated by a walk through a practical example

Android OS and Power Architecture

Android - open source mobile platform

Introduction to Android

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Japan Linux Symposium Daisuke Numaguchi Tetsuo Handa Giuseppe La Tona NTT DATA CORPORATION

Android Online Training

Chapter 2. Operating-System Structures

Android Debugging ART

Chapter 2: Operating-System Structures

Qt for Device Creation

UNIT:2 Introduction to Android

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010

DROID. By S.Gokulakrishnan AP/CSE SCSVMV

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

Android* on Intel platforms

CORE JAVA& ANDROID SYLLABUS

Android-Basics. Praktikum Mobile und Verteilte Systeme. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

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

COSC 3P97 Mobile Computing

Android Application Development

Lecture 08. Android Permissions Demystified. Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner. Operating Systems Practical

BECOMING MORE EFFECTIVE WITH THE ANDROID EMULATOR

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

Developer s overview of the Android platform

MC Android Programming

Introduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.

PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY:

Android. Operating System and Architecture. Android. Screens. Main features

Kick Start your Embedded Development with Qt

Android for Ubiquitous Computing Researchers. Andrew Rice University of Cambridge 17-Sep-2011

Open Lecture Mobile Programming. Command Line Tools

Abstract. 1. Introduction

Android on Tizen. Moscow State University

Transcription:

Lecture 1 - Introduction to Android This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

Android Architecture Source: http://commons.wikimedia.org 2

Android Architecture Linux kernel AOSP Runtime Libraries Application framework Applications 3

Linux Kernel Patches on top of mainline Linux Android Mainlining Project Wakelocks (also added to Linux 3.5) Low-Memory Killer, Binder, Alarm, Logger, etc. Only suspend to memory 4

Android Runtime Dalvik Virtual Machine (Java VM) Runs Dalvik-specific byte-code generated from Java-based apps, system components Apache Harmony project (implementation of Java libraries) Designed for embedded systems (slow CPU, small RAM, no swap, battery) Works with.dex files instead of.jar files Dalvik Executable Format.dex is 50% smaller than corresponding.jar 5

Android Runtime 6

Libraries bionic (libc) Much smaller than glibc sqlite Managing SQL databases OpenGL ES Standard software interface for 3D processing hardware WebKit Display web pages Android, Apple ios, BlackBerry, Tizen SSL Securing the communication over Internet 7

Application Framework Services Managers Telephony Location Activity Package Notification Content Providers 8

Application Framework 9

Application components User interaction Activities Background functionality Services Broadcast Receivers Content Providers 10

Activity User interface Similar to a window from window-based GUIs Cannot be minimized, maximized, resized Uses the whole visual area User interacts with a single activity at a time Activities stack Activities launch other activities Back button for returning to the previous activity No forward button Start activities with intents 11

Activity Lifecycle 12

Service Background thread Runs in the same process as the application Can be configured to run in another process Provide services to the other applications Communication through the Binder 13

Broadcast Receiver Receive broadcast announcements Low battery Reboot Application state changes Can receive global or local broadcasts Choose which broadcasts to receive Intent filters Intents Active only when receiving a broadcast 14

Content Provider Store and share application data Required for sharing data Relational database URI for identifying the provider and the table Content Resolver uses the URI to send a query to the provider Active only when responding to a request 15

Intents Send message, determine action execution Purpose Start activities, start or bind services Delivering broadcast messages to receivers Dispatched by the Android system Includes action and data Types ACTION DIAL content://contacts/people/1 Explicit: directed towards a specific receiver Implicit: a receiver which can resolve the action 16

Binder Lightweight RPC Remote object invocation In process and interprocess Transmit parcels of data Synchronous calls (blocking) 17

SDK Tools Android SDK Manager Download SDK packages AVD Manager Manages Android Virtual Devices (for emulator) Emulator Virtual mobile devices running on a PC Dalvik Debug Monitor Server (ddms) Debugging tool Port forwarding, screen capture, call and SMS spoofing, location spoofing, etc. 18

SDK Tools Android Debug Bridge (adb) Communication between the development tools and (virtual) device dx Generates the classes.dex file from several.class files Android Interface Definition Language (aidl) To allow clients from another application to access your service Generates interfaces and stubs that are used by the Binder Android Asset Packaging Tool (aapt) Create, update and view Zip-compatible archives (zip, apk, jar) Compile resources into binary assets (XML files, etc.) dexdump Disassembler tool Obtain the Dalvik bytecode from classes.dex 19

Android Debug Bridge Three components Client: runs on the development machine Server: background process on the development machine Daemon: background process on the (virtual) device Copy files Install applications Debug Shell on the (virtual) device 20

Emulator QEMU Screen, Keyboard, Network, Audio, GPS, Radio Can be accelerated through virtualization x86 System Image Intel Hardware Accelerated Execution Manager (HAXM) on Windows KVM on Linux GPU accelerated 21

Bibliography Karim Yaghmour, Embedded Android: Porting, Extending, and Customizing, Chapter 2 http://developer.android.com/guide/components/activiti es.html http://developer.android.com/guide/components/service s.html http://developer.android.com/guide/topics/providers/co ntent-providers.html http://developer.android.com/guide/components/intents -filters.html http: //developer.android.com/tools/help/index.html 22

Keywords Linux kernel AOSP Android Runtime Libraries Activities Services Broadcast Receivers Content Providers Intents Binders ADB Emulator 23