CS378 -Mobile Computing. Android Overview and Android Development Environment



Similar documents
Introduction to Android

01. Introduction of Android

Praktikum Entwicklung Mediensysteme (für Master)

Mobile Phones Operating Systems

Development. SriSeshaa Technologies. Table of Contents

Android 5.0: Lollipop OS

How To Develop An Android App On An Android Device

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

Introduction to Android

Android Programming and Security

Android Architecture. Alexandra Harrison & Jake Saxton

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

DEVELOPING MOBILE APPLICATIONS USING ANDROID

Smartphone market share

Programming with Android

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

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

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

ANDROID. Programming basics

Basics. Bruce Crawford Global Solutions Manager

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

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

An Introduction to Android

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM Eng. Wafaa Audah.

Mobile Application Development 2014

Running a Program on an AVD

Google Android: An Emerging Innovative Software Platform For Mobile Devices

Getting Started with Android Development

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

Workshop on Android and Applications Development

What else can you do with Android? Inside Android. Chris Simmonds. Embedded Linux Conference Europe Copyright 2010, 2net Limited.

Fahim Uddin 1. Java SDK

Getting started with Android and App Engine

directory to "d:\myproject\android". Hereafter, I shall denote the android installed directory as

Mobile App Development

Example Connection between USB Host and Android

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

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

Lecture 1 Introduction to Android

App Development for Smart Devices. Lec #2: Android Tools, Building Applications, and Activities

Android Operating System

Mobile Applications Grzegorz Budzyń Lecture. 2: Android Applications

Module Title: Software Development A: Mobile Application Development

Running Android Applications on BlackBerry 10 developer.blackberry.com/android

Android Geek Night. Application framework

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen,

Tutorial on Basic Android Setup

Creating and Using Databases for Android Applications

Android v ios Mobile Operating Systems

Android Environment Emulator

ANDROID OPERATING SYSTEM

App Development for Smart Devices

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

MOBILE APPS. QA Testing for mobile applications

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

Android Programming: Installation, Setup, and Getting Started

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Priority Based Pre-emptive Task Scheduling for Android Operating System

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

Android Mobile App Building Tutorial

Android Environment SDK

Introduction to Android Programming (CS5248 Fall 2015)

ADT Plugin for Eclipse

Basic Android Setup Windows Version

Android Development. Marc Mc Loughlin

rich mobile applications made easy

Overview of CS 282 & Android

Introduction to Android Development. Ed Burnette

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

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

Developing Applications for ios

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To

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

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction

Building an Android client. Rohit Nayak Talentica Software

Android 4.4 App Development Essentials

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

Software development. Development requirements. Java. Android SDK. Eclipse IDE (optional)

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

An Android-based Instant Message Application

Choosing a Mobile Application Development Approach

Practical Android Projects Lucas Jordan Pieter Greyling

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

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

ANDROID INTRODUCTION TO ANDROID

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients.

Éclair (2.0/2.1), 6 Electronic medical record (EMR), 19 EMR. See Electronic medical record (EMR)

Developing Android Apps for BlackBerry 10. JAM854 Mike Zhou- Developer Evangelist, APAC Nov 30, 2012

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

Introduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google

OpenCV on Android Platforms

Transcription:

CS378 -Mobile Computing Android Overview and Android Development Environment

What is Android? A software stack for mobile devices that includes An operating system Middleware Key Applications Uses Linux to provide core system services Security Memory management Process management Power management Hardware drivers

http://developer.android.com/guide/basics/what-is-android.html

Android Features Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browserbased on the open source WebKitengine Optimized graphicspowered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage Media supportfor common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony(hardware dependent) Bluetooth, EDGE, 3G, and WiFi(hardware dependent) Camera, GPS, compass, and accelerometer(hardware dependent) Rich development environmentincluding a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE http://developer.android.com/guide/basics/what-is-android.html

A Short History Of Android 2001 Palm Kyocera 6035, combing PDA and phone 2003 - Blackberry smartphone released 2005 Google acquires startup Android Inc. to start Android platform. Work on Dalvik VM begins 2007 Open Handset Alliance announced Early look at SDK June, iphone released 2008 Google sponsors 1 st Android Developer Challenge T-Mobile G1 announced, released fall SDK 1.0 released Android released open source (Apache License) Android DevPhone 1 released Pro Android by Hashimi& Komatineni(2009)

Short History cont. 2009 SDK 1.5 (Cupcake) New soft keyboard with autocomplete feature SDK 1.6 (Donut) Support Wide VGA SDK 2.0/2.0.1/2.1 (Eclair) Revamped UI, browser 2010 Nexus One released to the public SDK 2.2 (Froyo) Flash support, tethering SDK 2.3 (Gingerbread) UI update, system-wide copy-paste

2011 Short History cont. SDK 3.0 (Honeycomb) for tablets only New UI for tablets, support multi-core processors, fragments SDK 3.1 and 3.2 Hardware support and UI improvements SDK 4.0 (Ice Cream Sandwich) For Q4, combination of Gingerbread and Honeycomb 7

2012 Android 4.1, "Jelly Bean" announced late June 2012 Short History cont.

Device Distribution Jan 2012 Based on active devices Forward compatible Not necessarily backward compatible 1.5 Cupcake: 0.6% 1.6 Donut: 1.1% 2.1 Ecliar 8.5% 2.2 Froyo 30.4% 2.3 Gingerbread: 56% 3.X Honeycomb 3.3% 4.x Ice Cream Sand. 0.6% http://developer.android.com/resources/dashboard/platform-versions.html

Device Distribution July 2012

Devices and Apps Estimated 400M activated devices (100M a year ago) 1M new activations per day Google Play (formerly Android Market) ~600,000 apps, June 2012 2/3 free, 1/3 paid Apple App Store, ~650,000 apps June 2012 What's old is new -Mac vs. PC iphone vs. Android???

iphone vs. Android

Developer Revenues Business Strategy: attract developers with comparison of revenue generated by applications, average revenue per user, which platform first

Search Trends

Setup Development Environment Install JDK 5, 6, or 7 Install Eclipse IDE (version 3.7 -Indigo) recommended "Eclipse Classic" Download and unpack the Android SDK Install Android Development Tools (ADT) pluginfor Eclipse Detailed install instructions available on Android site http://developer.android.com/sdk/installing.html

SDK Manager AVD Manager

Android Emulator or AVD Emulator is essential to testing app but is not a substitute for a real device Emulators are called Android Virtual Devices (AVDs) Android SDK and AVD Manager allows you to create AVDs that target any Android API level AVD have configurable resolutions, RAM, SD cards, skins, and other hardware

Android Emulator: 1.6

Android Emulator: 2.2

Android Emulator: 3.0

Android Emulator: 4.0

Emulator Basics Host computer s keyboard works Host s mouse works like finger Uses host s Internet connection Other buttons work: Home, Menu, Back, Search, volume up and down, etc. Ctrl-F11 toggle landscape portrait Alt-Enter toggle full-screen mode More info at http://developer.android.com/guide/developing/devices/emulator.html

Emulator Limitations No support for placing or receiving actual phone calls Simulate phone calls (placed and received) through the emulator console No support for USB connections No support for camera/video capture (input) No support for device-attached headphones No support for determining connected state No support for determining battery charge level and AC charging state No support for determining SD card insert/eject No support for Bluetooth No support for simulating the accelerometer Use OpenIntents s Sensor Simulator That's why we need the devphone!

Create an AVD using AVD Manager or use the command line http://developer.android.com/guide/developing/devices/managing-avds-cmdline.html

Android Runtime: DalvikVM Subset of Java developed by Google Optimized for mobile devices (better memory management, battery utilization, etc.) Dalvikruns.dexfiles that are compiled from.class files Introduces new libraries Does not support some Java libraries like AWT, Swing http://developer.android.com/reference/packages.html

Or From the Command Line C:\android-sdk-windows\tools>android create avd-n MyDevice-t android-8 Android 2.2 is a basic Android platform. Do you wish to create a custom hardware profile [no] Created AVD 'MyDevice2' based on Android 2.2, Device name with the following hardware config: hw.lcd.density=240 vm.heapsize=24 C:\android-sdk-windows\tools>emulator -avd MyDevice Target platform Launch device More info: http://developer.android.com/guide/developing/devices/managing-avds-cmdline.html 26

Applications Are Boxed By default, each app is run in its own Linux process Process started when app s code needs to be executed Threads can be started to handle timeconsuming operations Each process has its own DalvikVM By default, each app is assigned unique Linux ID Permissions are set so app s files are only visible to that app

Producing an Android App Java code javac Byte code.java.class dx Dalvik exe classes.dex aapt Byte code <xml> Other.class files AndroidManifest.xml.apk <str> Resources

Other DevTools Android Debug Bridge Part of SDK command line tool to communicate with an emulator or connected Android device check devices attached / running install apk's, Android PacKagefiles, "executables", can find samples on places besides Android Market (security?) and more! http://developer.android.com/guide/developing/tools/adb.html

DDMS DalvikDebug Monitor Server debugging tool "provides, screen capture on the device, thread and heap information on the device, logcat, process, and radio state information, incoming call and SMS spoofing, location data spoofing, and more." can interact with DDMS via Eclipse plugin, another view in Eclipse

DDMS