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

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

Pedometer Project 1 Mr. Michaud /

Introduction to Android Programming (CS5248 Fall 2015)

Introduction to NaviGenie SDK Client API for Android

01. Introduction of Android

KomliMobile Android SDK

An Introduction to Android

Frameworks & Android. Programmeertechnieken, Tim Cocx

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

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Introduction to Android

Android Mobile App Building Tutorial

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

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)

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

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

Android Fundamentals 1

Introduction to Android SDK Jordi Linares

Getting Started with Android Development

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

Smartphone market share

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3 SP02

Exchange ActiveSync (EAS)

Hacking your Droid ADITYA GUPTA

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

Creating a 2D Game Engine for Android OS. Introduction

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

QML and JavaScript for Native App Development

Android Application Development Lecture Notes INDEX

Tutorial on Basic Android Setup

OpenCV on Android Platforms

How To Develop Android On Your Computer Or Tablet Or Phone

06 Team Project: Android Development Crash Course; Project Introduction

Basic Android Setup Windows Version

Fahim Uddin 1. Java SDK

Presenting Android Development in the CS Curriculum

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

for Android Desktop and Conduit for Mac Quick Start Guide

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Programming with Android

ELET4133: Embedded Systems. Topic 15 Sensors

Jordan Jozwiak November 13, 2011

CS378 -Mobile Computing. Android Overview and Android Development Environment

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Tutorial on Basic Android Setup

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

MOBILE DEVICE CONFIGURATION GUIDE ActiveSync

Android Geek Night. Application framework

Introduction to Android. Sean Sullivan October 27, 2008

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

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

Developing In Eclipse, with ADT

Mobile Application Development

How to develop your own app

Android Developer Fundamental 1

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

Configure SLC to Smartphone/ Tablet

Introduction to Android

Video conferencing with its multiple simultaneous video chats demands a good deal from your computer. The following platforms are required:

AUT OneDrive for Business. Instructions for Using OneDrive on Windows Platform

ni.com Remote Connectivity with LabVIEW

Google Android Syllabus

for Android Windows Desktop and Conduit Quick Start Guide

Mobile App Development Using App Inventor

Utilizing Dropbox to Share Files

Developing Applications for ios

Android Programming and Security

An Android-based Instant Message Application

A Practical Guide to creating, compiling and signing an Android Application using Processing for Android.

Android Development Tutorial. Nikhil Yadav CSE40816/ Pervasive Health Fall 2011

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

Workshop on Android and Applications Development

Beginning Android Programming

Developing NFC Applications on the Android Platform. The Definitive Resource

Introduction (Apps and the Android platform) Course Structure. Mobile and Social Application Programming. About the Course.

CS 403X Mobile and Ubiquitous Computing Lecture 6: Maps, Sensors, Widget Catalog and Presentations Emmanuel Agu

Installing the Android SDK

Installing Logos SSL Certificates on Mobile Devices

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus

Mobile Phones Operating Systems

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

ELDERLY SUPPORT - ANDROID APPLICATION FOR FALL DETECTION AND TRACKING TEJITHA RUDRARAJU. B.E, Anna University, India, 2011 A REPORT

Follow these steps to setup your Exchange ActiveSync account to your ios device:

How To Develop An Android App On An Android Device

Arduino & Android. A How to on interfacing these two devices. Bryant Tram

Android Architecture. Alexandra Harrison & Jake Saxton

Creating and Using Databases for Android Applications

Android Development Introduction CS314

ANDROID APPLICATION FOR FILE STORAGE AND RETRIEVAL OVER SECURED AND DISTRIBUTED FILE SERVERS SOWMYA KUKKADAPU B.E., OSMANIA UNIVERSITY, 2010 A REPORT

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.

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

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

Luxriot Broadcast Server Manual

RoverPal - A Mobile Payment Application

MelbourneOnline Hosted Exchange Setup

Mobile Device Manual for 3G DVRs

VPN: Virtual Private Network Setup Instructions

Developing and deploying mobile apps

Android Basics. Xin Yang

Transcription:

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

Fundamentals of Android Application Java programming language Code along with any required data and resource files are compiled into an Android package,.apk file. Android applications don't have a single entry point for everything in the application No main() function Default entry when you click the application icon Components can also be started by other applications http://developer.android.com/guide/topics/fundame ntals.html ECE 455/555 Embedded System Design 2

Activating Components Application components Activities, services, broadcast receivers Activated by an asynchronous message called intent Bind components at runtime You can start an activity by passing an intent to startactivity() Specify the main entry of your program in this way! You can start a service by passing an intent to startservice() ECE 455/555 Embedded System Design 3

Analyzing HelloWorld Application One of the standard entry function: crate an activity instance Create an user interface and set the text Default function to setup the user menu specified in class R ECE 455/555 Embedded System Design 4

Manifest XML file Applications must declare their components in a manifest file Before Android can start an application component, it must learn that the component exists. AndroidManifest.xml for each application Declares the application's components Names any libraries the application needs to be linked against Identifies any permissions the application expects to be granted ECE 455/555 Embedded System Design 5

The Manifest XML File of HelloWorld The only component <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.helloandroid" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="10" android:targetsdkversion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <activity android:name=".mainactivity" android:label="@string/title_activity_main" > <intent-filter> </activity> </application> </manifest> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> Similarly you can claim <service>, <receiver> and <provider> within the <application> tag ECE 455/555 Embedded System Design 6

The Manifest XML File of HelloWorld <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.helloandroid" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="10" android:targetsdkversion="15" /> The platform version used Type of action <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <activity android:name=".mainactivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.main" /> </intent-filter> </activity> </application> </manifest> Being indicated as application entry <category android:name="android.intent.category.launcher" /> Other action types: CALL, SYNC, BATTERY_LOW,etc http://developer.android.com/guide/components /intents-filters.html ECE 455/555 Embedded System Design 7

More in the Manifest XML file Application requirements Using external sensor/devices <uses-feature android:name="android.hardware.bluetooth" /> <uses-feature android:name="android.hardware.camera" /> Using Android library <uses-library android:name="android.view.animation" /> Request permission <uses-permission android:name="android.permission.camera" /> More details at: http://developer.android.com/guide/topics/manifest/manifes t-intro.html ECE 455/555 Embedded System Design 8

API Demos Demonstrating how the system API work Import demo projects into Eclipse -> Android project from existing code \...\Android\android- sdk\samples\android- 10\ApiDemos ECE 455/555 Embedded System Design 9

API Demos Run the program as a Java application It will automatically compile and upload the.apk file to the phone There will be an application named API Demos on your phone You will see something looks like: ECE 455/555 Embedded System Design 10

Sensing API Demo In the API Demo menu, choose OS->Sensors Application that displays the values of 3-axis acceleration sensors graphically Frequently used in games for gravity detection! implementation com.example.android.apis.os /Sensors.java ECE 455/555 Embedded System Design 11

Sensing API Demo Access sensor readings through SensorManager class Get an instance of SensorManager Listen sensor readings when the application is active at foreground Release listening ECE 455/555 Embedded System Design 12

Sensing API Demo Read and convert sensor readings Implemented as an event handler Readings of 3D orientation sensors Otherwise, use accelerator data Reading conversions ECE 455/555 Embedded System Design 13

Sensing Related Packages Media http://developer.android.com/reference/android/media/p ackage-summary.html Location http://developer.android.com/reference/android/location/ package-summary.html Hardware http://developer.android.com/reference/android/hardwar e/sensor.html ECE 455/555 Embedded System Design 14

Thoughts Can you realize fancier functionalities based on the sensing capabilities provided by Android? All the codes you need are included in the samples! Check \...\Android\android-sdk\samples\android-10\ Integrating sensing capabilities with other applications SMS, GPS, camera, etc ECE 455/555 Embedded System Design 15

Summary Android: an open-source operating system for smartphones Micro-kernel, middleware-based OS implementation Each application runs in Java virtual machine Expensive but reliable and secure Application Java programming enabled Components: activity, service, content provider, broadcast receiver Configured by Manifest XML file Sensing capabilities of smartphones Enable more flexible software design ECE 455/555 Embedded System Design 16

Other Smartphone Platforms Doing your project on your own smartphones or tablets iphone, BlackBerry, ipad, etc. A tutorial of iphone programming can be found here. http://www.edumobile.org/iphone/category/iphoneprogramming-tutorials/ http://web.eecs.utk.edu/~weigao/ece455/fall2015/iphone Development.zip ECE 455/555 Embedded System Design 17