an introduction to flash mobile technology on android, ios, and blackberry stephen chin chief agile...

28
Cross-Platform App Development with Flex Mobile An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava http://flash.steveonjava.com/ Oswald Campesato HTML5 Canvas/CSS3 Graphics Primer Twitter: @ocampesato

Upload: darrell-mathes

Post on 30-Mar-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Cross-Platform App Development with Flex Mobile

An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry

Stephen ChinChief Agile Methodologist at GXSTwitter: @steveonjavahttp://flash.steveonjava.com/

Oswald CampesatoHTML5 Canvas/CSS3 Graphics PrimerTwitter: @ocampesato

Page 2: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Flash and AIR on Android, iOS, and Blackberry

Adobe Flash

Adobe AIR

Available on Android and Blackberry Phones and Tablets

Does not run on iPhone or iPad Works in the Browser Limited Access to Device APIs

Available on Android, Blackberry, and iOS Works on Smart Phones and Tablets Deploys as a Native Application Gives Full Access to Device APIs

Page 3: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Flash Tooling

Tool Name Description Supports Android Deployment

Adobe Flash CS5.5 Visual design tool for building Flash applications with some Actionscript.

Actionscript Direct to Device

Adobe Flash Builder 4.5

Professional Flex and Actionscript development environment.

Flex/MXML, Actionscript

Direct to Device

Flex 4.5 SDK Stand-alone development toolkit. Flex, Actionscript

Build Script

Adobe Flash Catalyst 1.5

Rapid Development Platform for building Flex user interfaces.

Flex, Actionscript

Via Flash Builder

Page 4: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Hello Flash on 3 Platforms…

Page 5: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

BlackBerry Playbook Specs

“Enterprise Ready" Device 7" Screen (9.7mm Thick) HTML5 and FULL Flash 10.1 Hardware Accelerated Video Supports HDMI (TV output) Displays PPT and Documents Front and Rear Cameras 1 GHZ core and 1GB RAM Q1/Q2 of 2011

Page 6: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

BlackBerry Deployment

Register for Blackberry App World Account Free, but requires ID verification (driver's license)

Request code signing certificates Takes 1-2 business days for a response

Install Blackberry SDK Integrates with Flash Builder 4.5

Install Plug-in Update Manual process right now

Setup device in Flash Builder Turn on device debugging Enable via USB or Wifi

Setup Flash Builder with 2 certificate files

Difficult Rating:Moderate

Page 7: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Android Tablet Flash Devices

Samsung Galaxy Tab "enterprise ready" device 7" screen

Motorola Xoom First HoneyComb (3.1 device)

Samsung Galaxy Tab 10.1 Dual-core Tegra processor 10.1", 1280x800 screen

Sony Tablet P (not yet available)

Dual 5.5" screens

Page 8: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Deploying to Android

Turn on Device Debugging Plug in via USB

And install necessary drivers Deploy!

Difficult Rating:Easy!

Page 9: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

iOS Devices

iPhone 3/3GS 320x480 Display

iPhone 4/4S 640x960 Retina Display A4/A5 Processor

iPad 1/2 1024/768 Display A5 Processor

Page 10: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Deploying to iOS

Sign up for Apple's developer program This costs $$$

Buy a Mac computer (or borrow a friend's) Go through Apple's deployment process to create a certificate

Involves cert generation and other annoyances Install in Keychain and export as a P12 Create an application profile and export it Install cert and app profile in Flash Builder Build app packaging in Flash Builder

Debug mode is quick (but slower performance) Manually install via iTunes (install and sync to device)

Remember to uninstall previous app versions Repeat process for each app you develop

Difficult Rating:Painful

Page 11: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Device Screen CharacteristicsDevice Name Manufacturer Resolution Size Density Type

T-Mobile G1 HTC 320x480 3.2" 180ppi HVGA

Motorola Droid Motorola 480x854 3.7" 265ppi FWVGA

Google Nexus One HTC 480x800 3.7" 252ppi WVGA

Xperia X10 Mini Sony Ericsson 240x320 2.55" 157ppi QVGA

HTC EVO/Thunderbolt HTC 480x800 4.3" 217ppi WVGA

Droid X Motorola 480x854 4.3" 228ppi FWVGA

Motorola Atrix Motorola 540x960 4" 275ppi qHD

iPhone 4 Apple 640x960 3.5" 326ppi DVGA

Droid Bionic Motorola 540x960 4.3 256ppi qHD

iPad Apple 768x1024 9.7" 132ppi

Page 12: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Screen Resolution vs. Density

Page 13: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Density in Flex Applications

Density DPI Mapped Range

Medium Density (mdpi)

160 Below 200

High Density (hdpi)

240 200 to 280

Extra High Density (xhdpi)

320 Above 280

1 2

34

5

Page 14: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Density Explorer Application

<fx:Script> <![CDATA[ [Bindable] protected var applicationDPI:Number; [Bindable] public var deviceDPI:Number; ]]></fx:Script><s:VGroup paddingTop="20" paddingLeft="15" paddingRight="15" paddingBottom="15" gap="20" width="100%" height="100%"> <s:Label text="Application DPI:"/> <s:HGroup gap="30"> <s:RadioButton id="ad160" content="160"click="applicationDPI = 160"/> <s:RadioButton id="ad240" content="240" click="applicationDPI = 240"/> <s:RadioButton id="ad320" content="320" click="applicationDPI = 320"/> </s:HGroup> <s:Label text="Device DPI: {deviceDPI}"/> <s:HSlider id="dpiSlider" minimum="130" maximum="320" value="@{deviceDPI}" width="100%"/></s:VGroup>

Page 15: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Automatic Resizing

160ppi 240ppi 320ppi

Page 16: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Detecting Orientation

Can be done via: Event Callback▪ stage.addEventListener(

StageOrientationEvent.ORIENTATION_CHANGE, <function callback>);

States StageOrientation Values

DEFAULT ROTATED_LEFT ROTATED_RIGHT UPSIDE_DOWN UNKNOWN

Page 17: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Flash/AIR Mobile APIs

Screen Orientation * Multitouch * Gestures * Accelerometer Camera CameraRoll GPS Microphone Audio

Video* REST JSON/XML ViewNavigator* CSS Etc.

* APIs we will show examples of today

Page 18: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Mulititouch

GESTURES

Two Finger Tap

Pan

Zoom

Rotate

Swipe

Illustrations provided by Gestureworks (www.gestureworks.com)

Page 19: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Gestures via addEventListener

public class MultitouchImage extends Image { public function MultitouchImage() { addEventListener(TransformGestureEvent.GESTURE_ROTATE, rotateListener); addEventListener(TransformGestureEvent.GESTURE_ZOOM, zoomListener); Multitouch.inputMode = MultitouchInputMode.GESTURE; } protected function rotateListener(e:TransformGestureEvent):void { rotation += e.rotation; } protected function zoomListener(e:TransformGestureEvent):void { scaleX *= e.scaleX; scaleY *= e.scaleY;}}}

Page 20: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Gestures via Events

protected function swipe(e:TransformGestureEvent):void {

page = (page + e.offsetX + pages.numElements) % pages.numElements; updateVisibility(); } <s:VGroup gestureSwipe="swipe(event)”/>

Page 21: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Android Scrapbook Example

Page 22: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Sketch Example

Page 23: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Flex Mobile Views/Controls

ViewNavigatorApplication Views ViewNavigator Splash Screen Components:

ActionBar Text Components List, Scroller, and Touch Gestures

Page 24: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Flex Mobile Controls Demo

Page 25: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Video Example

Page 26: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Development Links

Android SDK http://developer.android.com/sdk/index.html

AIR 2.5 http://labs.adobe.com/technologies/air2/android/

Flex Builder 4.5 (Burrito) http://labs.adobe.com/technologies/flashbuilder_burrito/

Flex Catalyst 5.5 (Panini) http://labs.adobe.com/technologies/flashcatalyst_panini/

Flex 4.5 SDK (Hero) http://labs.adobe.com/technologies/flexsdk_hero/

iPhone Packager http://labs.adobe.com/technologies/packagerforiphone/

Page 27: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Blogs to Read

Stephen Chin http://flash.steveonjava.com/

Duane Nickull http://technoracle.blogspot.com/

Christian Cantrell http://blogs.adobe.com/cantrell/

Christophe Coenraets http://coenraets.org/blog/

Serge Jespers http://www.webkitchen.be/

Lee Brimelow (The Flash Blog) http://blog.theflashblog.com/

Mark Doherty (FlashMobileBlog) http://www.flashmobileblog.com/

Page 28: An Introduction to Flash Mobile Technology on Android, iOS, and Blackberry Stephen Chin Chief Agile Methodologist at GXS Twitter: @steveonjava

Pro Android FlashStephen Chin, Oswald Campesato, Dean Iverson, and Paul Trani

Includes: UI Controls Media Support Mobile Flex APIs Android Market Deployment Extensive Examples

Available Now!

http://steveonjava.com/