Вы находитесь на странице: 1из 21

Developing for Android

with the Flash Platform


Replace with
a graphic

White Master

5.5 Tall & 4.3 Wide

Mihai Corlan
Platform Evangelist, Adobe
gotoAndSki(), June 2010
Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

What Android phones?

Flash Player 10.1 runs only on Android 2.2 or newer

Adobe AIR runs on Android 2.1 and 2.2

Phones: Motorala Droid, HTC Desire, Google Nexus One (ARMv7 processor)

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

APIs & Features

Multi-Touch

Works on Desktop for both Flash Player 10.1 and AIR

On Android works only in AIR

System.Capabilities.TouchScreenType (finger, none)

Mobile text input

If no physical keyboard then the virtual one is bring on for text input fields

Accelerometer input

Accelerometer class allows developer to read acceleration values on X,Y, and Z axes

Accelerometer.isSupported

flash.events.StatusEvent

flash.events.AccelerometerEvent (UPDATE)

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

APIs and Features

Screen Orientation

Stage object dispatches a StageOrientationEvent object when the orientation of the screen
containing the stage changes

stage.orientation

StageOrientationEvent.ORIENTATION_CHANGING

StageOrientationEvent.ORIENTATION_CHANGE

Camera and Mic access dont work on mobile

Geolocation

Geolocation class

geoLocation.addEventListener(GeolocationEvent.UPDATE, handleLocationRequest);

GeolocationEvent properties: latitude, longitude, altitude, heading, speed, H&V accuracy,


timestamp

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

APIs and Features

Listening for Hardware buttons (Back, Menu, Search)

Keyboard.MOBILE_BACK_KEY

Keyboard.MOBILE_MENU_KEY

Keyboard.MOBILE_SEARCH_KEY

Focused Mode (single tap)

Smartzoom (double tap)

Full-Screen AS-only

stage.displayState = StageDisplayState.FULL_SCREEN;

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

APIs and Features


Integration with the device Phone, Messaging, Email, Browser:

navigateToURL(new URLRequest("tel:

+ 00407668));

navigateToURL(new URLRequest("sms:

+ 00407668);

navigateToURL(new URLRequest("mailto:"+ mcorlan@adobe.com))

navigateToURL(new URLRequest(http://corlan.org));

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

Optimizations

Smart Rendering

Sleep Mode

Flash content thats not visible to the user will not be rendered and will receive limited CPU
time

The player will be put to sleep along with the device to conserve power

Out-of-Memory Management

click-to-play button that the user can control as necessary

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

What languages/frameworks

For browser you should stick to ActionScript projects. While Flex 4 works in
browser, you might not get the performance you are looking for

For AIR I found Flex 4 framework could be a good choice. Test for your
specific use case because your mileage could vary

A number of people created light-weight components for mobile


development:

http://dgrigg.com/post.cfm/04/28/2010/Alpha-Release-of-Skinnable-Minimal-Components

http://blog.kevinhoyt.org/?p=548

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

Android SDK

You have to download the Android SDK

This oers the command line tools necessary for installing/uninstalling APK
files, displaying the Console, screen capturing and so on

http://developer.android.com/sdk/

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

Download Flash Player 10.1 and AIR runtime/SDK

http://labs.adobe.com

AIR 2.5 Runtime Device (clair / FroYo) (APK files)

AIR 2.5 SDK Windows / Mac / Linux

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

10

Installing APK files to your Android

Connect your phone to your computer using the USB cable

Navigate to Android SDK/tools/ folder and run adb command:

adb devices
This command should list your device

Run this command to install APK files:

adb install Runtime_Device_Froyo_20100517.apk

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

11

Tools for developing AIR apps for Android

Flash CS 5. You can install a plug-in for Android

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

12

Tools for developing AIR apps for Android


Flash Builder 4

Download AIR SDK 2.5 for your OS

Create an AIR app

If you use Flex, change the root node from WindowedApplication to


Application

Application descriptor file:

<application xmlns="http://ns.adobe.com/air/application/2.5">

<supportedProfiles>mobileDevice</supportedProfiles>

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

13

Deploying from Flash Builder 4

You can use Serge Jesperss Package Assistant Pro


http://www.webkitchen.be/package-assistant-pro/

Can package your project as an APK file

Then you can use adb install appname.apk command

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

14

Deploying from Flash Builder 4


Or you can create a script (sh / bat) that grabs the files from bin-debug,
package them as an APK file, uninstall the app from the phone, install the
new app
rm -f install.apk

/Users/mcorlan/Desktop/Android/android-sdk-mac_86/tools/adb uninstall app.aTabSplitterSkunkwork

java -jar /Users/mcorlan/Desktop/Android/adt.jar -package -target apk -storetype pkcs12 -keystore /Users/mcorlan/Desktop/
Android/mcorlan2.pfx -storepass 12cor13 install.apk main-app.xml main.swf

/Users/mcorlan/Desktop/Android/android-sdk-mac_86/tools/adb install -r install.apk

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

15

Seeing the Android console

Connect your Android Phone

Enable debugging on device

Open a terminal window and execute this command:


adb logcat

Youll see all the traces and exceptions in the console

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

16

Device Central CS5

You can use Device Central CS 5 for testing your Flash Application

Doesnt support AIR

You publish from Flash CS5 your application

In Device Central you add a Nexus One profile and load the SWF

Then you can use the emulator for testing the app on the phone, including
the accelerometer, keyboard

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

17

Resources

Gotoandlearn.com tutorial on installing the Android SDK, AIR runtime, and


AIR extension for Flash CS5

http://www.webkitchen.be/package-assistant-pro/

http://flashmobileblog.com

http://corlan.org

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

18

Q&A

Replace with
a graphic

White Master

5.5 Tall & 4.3 Wide

Thank You!
http://corlan.org
Twitter: mcorlan

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

19

Packaging & Pricing Available for purchase March 22, 2010

Flash Builder 4
Standard

Flash Builder 4
Premium

ColdFusion
Builder

$249 / $99

$699 / $299

$299

175 / 69
Y30000 / Y12000

519 / 229
Y85000 / Y36000

215
Y34000

Standalone or included in
ColdFusion Builder

Adds profilers, network


monitor, unit testing
harness and integration,
command-line build

Free for Education

Includes ColdFusion Builder

Standalone or included in
Flash Builder 4 Premium

Free for Education


Includes Flash Builder 4 Standard

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

20

Copyright 2010 Adobe Systems Incorporated. All rights reserved. Adobe confidential.

21

Вам также может понравиться