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



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

Fahim Uddin 1. Java SDK

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)

An Introduction to Android

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

Introduction to Android

Lab 0 (Setting up your Development Environment) Week 1

Introduction to Android

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

01. Introduction of Android

Introduction to Android

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

Smartphone market share

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

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

Android Programming and Security

1) SETUP ANDROID STUDIO

Mobile Phones Operating Systems

Workshop on Android and Applications Development

Running a Program on an AVD

CS378 -Mobile Computing. Android Overview and Android Development Environment

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall

Jordan Jozwiak November 13, 2011

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

How To Run A Hello World On Android (Jdk) On A Microsoft Ds.Io (Windows) Or Android Or Android On A Pc Or Android 4 (

With a single download, the ADT Bundle includes everything you need to begin developing apps:

Getting Started with Android Development

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

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

Board also Supports MicroBridge

Overview of CS 282 & Android

Example of Standard API

DEVELOPING MOBILE APPLICATIONS USING ANDROID

ITG Software Engineering

Android Mobile App Building Tutorial

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

Introduction to Android Programming (CS5248 Fall 2015)

Android Architecture. Alexandra Harrison & Jake Saxton

Example Connection between USB Host and Android

Lecture 1 Introduction to Android

Basic Android Setup Windows Version

Android 5.0: Lollipop OS

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

New Technology Introduction: Android Studio with PushBot

Introduction to Android Development. Jeff Avery CS349, Mar 2013

The power of root on Android emulators

Mobile Application Development 2014

Development. SriSeshaa Technologies. Table of Contents

OpenCV on Android Platforms

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

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

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

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

Basics. Bruce Crawford Global Solutions Manager

How to Create an Android Application using Eclipse on Windows 7

Issues in Android on Mobile Platform and Their Resolution

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

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

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

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

Android Operating System

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar

Mobile Operating Systems. Week I

imaginea white paper

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

Android Development Tutorial. Human-Computer Interaction II (COMP 4020) Winter 2013

Installing the Android SDK

Hello World. by Elliot Khazon

Praktikum Entwicklung Mediensysteme (für Master)

ANDROID INTRODUCTION TO ANDROID

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Hacking your Droid ADITYA GUPTA

STLinux Software development environment

A Modular Approach to Teaching Mobile APPS Development

Android Development: a System Perspective. Javier Orensanz

Tutorial on Basic Android Setup

Introduction to Android SDK Jordi Linares

Setting Up Your Android Development Environment. For Mac OS X (10.6.8) v1.0. By GoNorthWest. 3 April 2012

Developing Mobile Applications

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

Android Basics. Xin Yang

Comparing Google s Android and Apple s ios Mobile Software Development Environments. Eero Maasalmi, Panu Pitkänen

Module Title: Software Development A: Mobile Application Development

Android: How To. Thanks. Aman Nijhawan

Android Development Setup [Revision Date: 02/16/11]

farmerswife Contents Hourline Display Lists 1.1 Server Application 1.2 Client Application farmerswife.com

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

Android Programming: Installation, Setup, and Getting Started

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

Android Development. Marc Mc Loughlin

Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development

Android 4.4 App Development Essentials

RoverPal - A Mobile Payment Application

Android Environment SDK

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

Developing for MSI Android Devices

Presenting Android Development in the CS Curriculum

LIBRARY ACCESS SYSTEM SMARTPHONE APPLICATION USING ANDROID

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

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

Transcription:

Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students want to use the extra I/O pins on TelosB motes for projects Some information and tutorials has been posted on course website Be careful on soldering work ECE 455/555 Embedded System Design 1

ECE 455/555 Embedded System Design Android Introduction Wei Gao Fall 2015 2

What is Android? Android is a software stack for mobile devices that includes an operating system, middleware, and key applications. http://developer.android.com/guide/basics/what-isandroid.html Android Software Development Kit (SDK) http://developer.android.com/sdk/index.html Provides the tools and APIs to begin developing applications on the Android platform using Java. Includes a debugger, libraries, a handset emulator (based on QEMU), documentation, sample code, and tutorials ECE 455/555 Embedded System Design 3

What is Android? Google Play is an online software store developed by Google for Android devices http://play.google.com Counterpart of Apple Store As of December 2010, the Android Market (precedent of Google Play) had over 200,000 applications You can develop your program and publish it to the world! Java programming given the Android APIs! ECE 455/555 Embedded System Design 4

History Android mobile operating system initially developed by Android Inc Android was bought by Google in 2005 Google and other members of the Open Handset Alliance collaborated on Android's development and release Android has been available under a free software / open source license since October, 2008 ECE 455/555 Embedded System Design 5

History Android versions Improved performance, VM support, and sensing APIs New UI framework, graphics and multi-core support 4G support, WiFi p2p connections ECE 455/555 Embedded System Design 6

Android Overview Hardware platform ARM architecture Powered by the Linux kernel v2.6 Consists of 12 million lines of code including: 3 million lines of XML 2.8 million lines of C 2.1 million lines of Java 1.75 million lines of C++ Comparing with TinyOS ECE 455/555 Embedded System Design 7

Android System Architecture Middleware ECE 455/555 Embedded System Design 8

Middleware Software above the OS Provides services to (user) software applications beyond those available from the OS Advantages of middleware Separate less important functionalities out from OS kernel micro -kernel Easier for developers to perform communication and I/O Better APIs More efficient resource management Easy debugging ECE 455/555 Embedded System Design 9

Android Middleware Constraints on smartphones Processor capabilities Memory constraint Limited battery life Middleware provides system services in a more efficient way Linux kernel in Android: Process management and scheduling Power management Hardware drivers ECE 455/555 Embedded System Design 10

Android Middleware http://developer.android.com/about/versions/index. html Application framework Direct APIs to application Window, user activity, resource, notifications, location services Windows 7: everything in the system kernel Libraries WebKit, OpenGL, SSL, etc. ECE 455/555 Embedded System Design 11

Android Middleware Android Runtime Davlik Virtual Machine: optimized for mobile devices Each application in Android runs as a separate instance of Davlik virtual machine Expensive: 2-3 times slower than Java SE embedded Robust, reliable, and secure Each application runs as a separate process Linux permission is only given to the application itself Principle of least privilege ECE 455/555 Embedded System Design 12

Android Application Components Activity: visual user interface Activities work together to form a cohesive user interface http://developer.android.com/guide/topics/fundamentals. html ECE 455/555 Embedded System Design 13

Android Application Components Service: runs in the background for an indefinite period of time Comparable to Windows services Example: Media player s music playback service Comparison: third-party background service is not allowed on iphone Concerns: system stability and cost, user security ECE 455/555 Embedded System Design 14

Android Application Components Content provider Makes a specific set of the application's data available to other applications Enables other applications to retrieve and store data of the type it controls Interaction among applications: system call Any application can start another application s component Application launching camera/map applications ECE 455/555 Embedded System Design 15

Android Application Components Broadcast receivers: System-wide event notification Screen turned on, radio on/off, battery low, etc. Application-specific broadcasts Status bar notification instead of user interface ECE 455/555 Embedded System Design 16

ECE 455/555 Embedded System Design Android SDK Installation Wei Gao Fall 2014 17

Development Environments Operating System Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit) Mac OS X 10.5.8 or later (Leopard, x86 only) Linux (tested on Ubuntu Linux, Lucid Lynx) GNU C Library (glibc) 2.7 or later is required. On Ubuntu Linux, version 8.04 or later is required. 64-bit distributions must be capable of running 32-bit applications IDE: Eclipse is recommended Make sure you use Eclipse IDE for Java Developers Eclipse JDT plug-in JRE & JDK 1.6 and above ECE 455/555 Embedded System Design 18

Installation Steps http://developer.android.com/sdk/installing.html Install Java SDK Install Eclipse IDE Install Android SDK Installing ADT plug-in for Eclipse Adding Platforms and Components ECE 455/555 Embedded System Design 19

Install Android SDK http://developer.android.com/sdk/index.html Android SDK manager ECE 455/555 Embedded System Design 20

Install Android Developer Toolkit (ADT) Plugins ECE 455/555 Embedded System Design 21

Install Android Developer Toolkit (ADT) Plugins ECE 455/555 Embedded System Design 22

Install Android Developer Toolkit (ADT) Plugins ECE 455/555 Embedded System Design 23

Configure ADT Plugins ECE 455/555 Embedded System Design 24

Configure ADT Plugins ECE 455/555 Embedded System Design 25

Device Driver For you to upload the program onto the phone Windows Download and install the Google ADB driver here http://web.eecs.utk.edu/~weigao/ece455/fall2015/google -adb-drivers.zip Mac OS X/Linux Read the instructions below http://developer.android.com/guide/developing/device.ht ml ECE 455/555 Embedded System Design 26

HelloWorld Demo Create an Android project ECE 455/555 Embedded System Design 27

HelloWorld Demo Project properties: ECE 455/555 Embedded System Design 28

HelloWorld Demo Edit MainActivity.onCreate() ECE 455/555 Embedded System Design 29

HelloWorld Demo Connect the phone to USB Run the program as an Android application Eclipse automatically compile the program into a.apk file and uploads it to the phone If you don t have a phone connected, it will run on an Android emulator ECE 455/555 Embedded System Design 30

Android Emulator Automatically switch to emulator when no phone device is connected ECE 455/555 Embedded System Design 31