ANDROID APP DEVELOPMENT: AN INTRODUCTION CSCI 5115-9/19/14 HANNAH MILLER



Similar documents
By sending messages into a queue, we can time these messages to exit the cue and call specific functions.

Developing Android Apps: Part 1

Developing an Android App. CSC207 Fall 2014

Mobile Application Development

Tutorial #1. Android Application Development Advanced Hello World App

Building Your First App

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

Getting started with Android and App Engine

Android Development. Marc Mc Loughlin

Android App Development. Rameel Sethi

Android Application Development. Yevheniy Dzezhyts

Android Quiz App Tutorial

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

How to Create an Android Application using Eclipse on Windows 7

ADITION Android Ad SDK Integration Guide for App Developers

Jordan Jozwiak November 13, 2011

Build your own Fiori hybrid mobile app rapidly using SAP Web IDE Marc Anderegg, SAP SESSION CODE: BT404

Android Development. 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系

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

How To Develop A Mobile App With Phonegap

Lecture 4 Cross-Platform Development. <lecturer, date>

MMI 2: Mobile Human- Computer Interaction Android

Android Environment SDK

Cross-Platform Phone Apps & Sites with jquery Mobile

Tutorial: Setup for Android Development

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

Android Application Development: Hands- On. Dr. Jogesh K. Muppala

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

SYST35300 Hybrid Mobile Application Development

ADT Plugin for Eclipse

Android Environment SDK

Beginning Android Programming

Operational Decision Manager Worklight Integration

Open Source Telemedicine Android Client Development Introduction

Basics. Bruce Crawford Global Solutions Manager

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

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

Take full advantage of IBM s IDEs for end- to- end mobile development

Getting Started With Android

OpenCV on Android Platforms

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project:

Android 多 核 心 嵌 入 式 多 媒 體 系 統 設 計 與 實 作

How To Develop Android On Your Computer Or Tablet Or Phone

Android Basics. Xin Yang

Cross-Platform Tools

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Presenting Android Development in the CS Curriculum

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

Introduction to Tizen SDK Alpha. Taiho Choi Samsung Electronics

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

Introduction to Android Programming (CS5248 Fall 2015)

Lab: Developing Mobile Web Apps. Adage Technologies adagetechnologies.com

QML and JavaScript for Native App Development

Introduction to Android

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

Republic Polytechnic School of Infocomm C308 Web Framework. Module Curriculum

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

Android Programming Basics

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Chapter 2 Getting Started

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

Developing and deploying mobile apps

Mobile App Design and Development

Advantages. manage port forwarding, set breakpoints, and view thread and process information directly

Android Application Development - Exam Sample

... Introduction Acknowledgments... 19

Development for Mobile Devices Tools from Intel, Platform of Your Choice!

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release

Developing NFC Applications on the Android Platform. The Definitive Resource

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

ArcGIS 10.1 Web Apps and APIs. John Hasthorpe & Kai Hübner

MAP524/DPS924 MOBILE APP DEVELOPMENT (ANDROID) MIDTERM TEST OCTOBER 2013 STUDENT NAME STUDENT NUMBER

Dave Haseman, Ross. Hightower. Mobile Development for SAP* ^>. Galileo Press. Bonn. Boston

How To Develop An Android App On An Android Device

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

Retool your HTML/JavaScript to go Mobile

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz Java Developer

Creating a 2D Game Engine for Android OS. Introduction

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

Android Application Development Lecture Notes INDEX

Basic Android Setup Windows Version

Getting Started: Creating a Simple App

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

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

max firt.mobi martes 26 de julio de 11

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

Android Mobile App Building Tutorial

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

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

Create Your Own Android App Tools Using ArcGIS Runtime SDK for Android

Building native mobile apps for Digital Factory

Android Programming: Installation, Setup, and Getting Started

Transcription:

ANDROID APP DEVELOPMENT: AN INTRODUCTION CSCI 5115-9/19/14 HANNAH MILLER

DISCLAIMER: Main focus should be on USER INTERFACE DESIGN Development and implementation: Weeks 8-11 Begin thinking about targeted platforms and associated technical effort

PROJECT GOAL Design, implement, and evaluate an application for the Android* mobile operating system Development Options: Native Android Development Cross-Platform Development (HTML5)

HTML5 KEY MOBILE FEATURES Offline Support Canvas Drawing Video and Audio Streaming GeoLocation API Advanced Forms

HTML5 MOBILE WEB FRAMEWORKS Provide more consistent and comprehensive HTML5 support across mobile browsers Many frameworks to choose from

HYBRID MOBILE APP (1/2) Mostly HTML, JavaScript, and CSS Run inside native container device s web browser Locally-hosted files

HYBRID MOBILE APP (2/2) Frameworks (PhoneGap) provide native code Exposed by JavaScript API PhoneGap API handles communication with native OS Application container technology

NATIVE VS. HYBRID MOBILE APP Code reuse across platforms vs. single platform code Learning curve JavaScript vs. specialized dev tools Interface speed native vs. abstraction layers Native functionality strength vs. framework subset

NATIVE ANDROID DEVELOPMENT Download Android Development Tools ADT Bundle Eclipse IDE + Android SDK + ADT plugin, JRE Already have Eclipse? Android SDK Android Studio

NATIVE ANDROID DEVELOPMENT https://developer.android.com/training/index.html

PROJECT STRUCTURE AndroidManifest.xml app config/setup src Source Code res Resources Drawable objects Layout UI Values - Resources gen Resource objects

PROJECT STRUCTURE AndroidManifest.xml app config/setup src Source Code res Resources Drawable objects Layout UI Values - Resources gen Resource objects

PROJECT STRUCTURE AndroidManifest.xml app config/setup src Source Code res Resources Drawable objects Layout UI Values - Resources gen Resource objects

PROJECT STRUCTURE AndroidManifest.xml app config/setup src Source Code res Resources Drawable objects Layout UI Values - Resources gen Resource objects

ANDROID UI ViewGroup and View hierarchy View UI widgets ViewGroup invisible view containers XML vocabulary WYSIWYG vs. XML editor

ANDROID UI <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.example.demoapp.mainactivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>

ANDROID UI <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.example.demoapp.mainactivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>

ANDROID UI <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.example.demoapp.mainactivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>

ANDROID UI + RESOURCES = @type/name <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" <resources> android:layout_width="match_parent" <string name="app_name">demo App</string> android:layout_height="match_parent" <string name="hello_world">hello world!</string> android:paddingbottom="@dimen/activity_vertical_margin" <string name="action_settings">settings</string> android:paddingleft="@dimen/activity_horizontal_margin" </resources> android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="com.example.demoapp.mainactivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout> <resources> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> </resources>

ACTIVITIES & APP CODE Activity single focused thing user can do oncreate implementation Interact Window for you to display UI setcontentview(layout)

ACTIVITIES & APP CODE Code Resource/UI Reference R.java R.type.name findviewbyid(r.type.name)

TESTING On Device Connect via USB cable Enable USB debugging (7 clicks!) Run code, installs app on device Emulator and starts it Android Virtual Device Device configuration for Android

HTML5 & PHONEGAP APP DEMO App HTML5, JavaScript, and CSS code Use of web framework JQuery Mobile PhoneGap Build deploy to device

PHONEGAP BUILD Cloud Service for compiling PhoneGap applications No native SDK management Easy team collaboration Quick development cycle

DISCLAIMER: FOCUS ON UI DESIGN Begin thinking about targeted platforms and associated technical effort OK Use what you know OK Wizard of OZ approach NOT OK Focus on implementation details