AIR goes mobile Applikationsentwicklung für Android und

Transcription

AIR goes mobile Applikationsentwicklung für Android und
AIR goes mobile
Applikationsentwicklung für Android und mehr
Touch me
Multitouch Applikationen mit der Flash
Plattform
Saban Ünlü, netTrek
Mittwoch, 11. August 2010
Inhalt
Native API support
Installieren
Veröffentlichen
Beispiele
Performance Tipps
Tipps und Tricks
2 / 26
Mittwoch, 11. August 2010
Native iPhone APIs
Multitouch
Screen Orientation
Camera
Bitmaps ins Foto Album
Mikrofon
Aufzeichnungen
Beschleunigungssensoren
3 / 26
Mittwoch, 11. August 2010
Installieren
Flash Professional CS5
Optional auch Flash Builder
Adobe AIR for Android
Android SDK
4 / 26
Mittwoch, 11. August 2010
AIR for Android
Windows
Dupliziere ein vorhandes SDK z.B.
das 4.1‘er
Entpacke die ZIP
(AIR25_win_sdk_XXXXXX.zip)
Überschreibe im duplizierten
Verzeichnis die Dateien aus dem
Entpackten Ordner
Path um ;C:\deinAirSDKordner\bin;
erweitern
5 / 26
Mittwoch, 11. August 2010
AIR for Android
MAC
Dupliziere ein vorhandes SDK z.B. das 4.1‘er
Kopiere die AIR 2.5 tbz2-Datei in diesen Ordner
Entpacke die tbz2 mit
sudo tar jxvf AIR25_mac_sdk_XXXXXX.tbz2
Setze die Umgebungsvariablen (mate ~/.bash_login)
export PATH=$PATH:/Applications/Adobe\ Flash\
Builder\ 4/sdks/AIR25_mac_sdk/bin
6 / 26
Mittwoch, 11. August 2010
Android SDK / AVD
Entpacke die ZIP
Starte „android“ in „tools“
Installiere über „Available Packages“
das SDK Android 2.2 und unter
Windows die USB Treiber
Erstelle ein Virtual Device für FroYo
(2.2) mit einer SDCard
Starte das AVD
7 / 26
Mittwoch, 11. August 2010
Android SDK / AVD
Setze Umgebungsvariablen
export PATH=$PATH:/
Applications/Adobe\ Flash\
Builder\ 4/sdks/android-sdkmac_86/tools
Path um C:
\deinAndroidSDKordner\tools
erweitern
Test im Terminal (cmd)
8 / 26
Mittwoch, 11. August 2010
Runtime installieren
adb install ./
Runtime_Emulator_Froyo_20100802.a
pk
9 / 26
Mittwoch, 11. August 2010
Flash Erweiterung installieren
ZXP mittels des Extension Managers installieren
Anweisungen folgen
Flash CS5 neu starten
10 / 26
Mittwoch, 11. August 2010
Veröffentlichen
Funktionsweise
AIR Settings
Einstellungen in der app-xml
Standardeinstellungen
Manifest Einstellungen
Debugging
11 / 26
Mittwoch, 11. August 2010
Funktionsweise
Entwicklung
Veröffentlichung
Packager
SWF
app.xml
Flash CS5
Assets
12 / 26
Mittwoch, 11. August 2010
APK
AIR Settings
Ausgabeort
Name und ID der App
Version
Format
Vollbild
Ausrichtung
Assets
13 / 26
Mittwoch, 11. August 2010
AIR Settings
Zertifikat
Selbst erstellen
25 Jahre Laufzeit
Art der Veröffentlichung
Installation / Ausführung
Android SDK Verzeichnis
14 / 26
Mittwoch, 11. August 2010
AIR Settings
Icons
36x36
48x48
72x72
15 / 26
Mittwoch, 11. August 2010
App-xml
<application xmlns="http://ns.adobe.com/air/
application/2.5">
<id>NetworkInfoApp</id>
<versionNumber>1.0.2</versionNumber>
<filename>NetworkInfoApp</filename>
<name>NetworkInfoApp</name>
16 / 26
Mittwoch, 11. August 2010
App-xml
<initialWindow>
<content>NetworkInfoApp.swf</content>
<fullScreen>false</fullScreen>
<autoOrients>false</autoOrients>
<aspectRatio>portrait</aspectRatio>
<renderMode>auto</renderMode>
17 / 26
Mittwoch, 11. August 2010
App-xml
<icon>
<image36x36>icons/icon36.png</image36x36>
<image48x48>icons/icon48.png</image48x48>
<image72x72>icons/icon72.png</image72x72>
Über die Konsole muss icons als Asset definiert werden
18 / 26
Mittwoch, 11. August 2010
Manifest
<android><manifestAdditions><manifest>
<attribute name="android:installLocation"
value="preferExternal"></attribute>
<data>
<uses-permission
android:name="android.permission...." />
http://developer.android.com/reference/android/Manifest.permission.html
19 / 26
Mittwoch, 11. August 2010
Permissions
INTERNET
CAMERA
WRITE_EXTERNAL_STORAGE
ACCESS_FINE_LOCATION
WAKE_LOCK
DISABLE_KEYGUARD
READ_PHONE_STATE
ACCESS_NETWORK_STATE
ACCESS_WIFI_STATE
20 / 26
Mittwoch, 11. August 2010
Debugging
Als Debug-Version aus Flash
Kompilieren
Automatisches installieren OK
Automatisches starten NO GO
Debug Session für AS 3.0
starten
Applikation auf Emulator oder
Phone starten
21 / 26
Mittwoch, 11. August 2010
Beispiele: Multitouch
22 / 26
Mittwoch, 11. August 2010
Beispiele: Multitouch
Multitouch.supportsGestureEvents
Multitouch.supportedGestures
Multitouch.supportsTouchEvents
Multitouch.inputMode =
MultitouchInputMode.TOUCH_POINT
Multitouch.inputMode =
MultitouchInputMode.GESTURE;
25 / 26
Mittwoch, 11. August 2010
Beispiele: Multitouch
TransformGestureEvent
GESTURE_ROTATE
GESTURE_ZOOM
GESTURE_PAN
GESTURE_SWIPE
26 / 26
Mittwoch, 11. August 2010
Beispiele: Multitouch
TouchEvent
TOUCH_BEGIN
TOUCH_END
TOUCH_MOVE
TOUCH_TAP
27 / 26
Mittwoch, 11. August 2010
Performance Tipps
DisplayObjects
Anzahl sichtbarer Objekte
Wiederverwenden
Filter und Blenden vermeiden
Anzahl der Vektoren
Events
stopImmediatePropagation()
preventDefault()
28 / 26
Mittwoch, 11. August 2010
Performance Tipps
Cachen von DisplayObjects
cacheAsBitmapMatrix
cacheAsBitmap
Farbtiefe x breite x höhe x Qualität
Farbtiefe = 4 ( 32bits pro pixel )
Qualität = 4 - Antialias Faktor für hoche Qualität (Standard)
Speicherverbrauch bei einer 10x10 Grafik entspricht also
1600 Bytes
29 / 26
Mittwoch, 11. August 2010
Performance Tipps
Bitmaps
Höhe und Breite soll so dicht wie möglich an der
Potenz von 2 liegen aber nicht darüber!
2,4,8,16,32,64,128,256,512, usw.
7x3 Bitmaps werden also schneller gerendert als
9x5 und am schnellsten wird die 8x4 Grafik (in
diesem Fall!) gerendert.
Hardwarebeschleunigung
30 / 26
Mittwoch, 11. August 2010
Performance Tipps
Benutze Systemschriften
Droid Serif
Droid Sans
Droid Sans Mono
http://www.droidfonts.com/droidfonts/
31 / 26
Mittwoch, 11. August 2010
Tipps und Tricks
StandBy
SystemIdleMode.KEEP_AWAKE;
Status sichern
Out of focus...
Event.EXITING
Event.ACTIVATE
Event.DEACTIVATE
32 / 26
Mittwoch, 11. August 2010
Tipps und Tricks
Android Tasten
Key-Event auf Stage anfragen
Neu Keybord statics
BACK
MENU
SEARCH
preventDefault ()
33 / 26
Mittwoch, 11. August 2010
FRAGEN?
Saban Ünlü - netTrek
www.netTrek.de / us@netTrek.de
34 / 26
Mittwoch, 11. August 2010
DANKE!
Saban Ünlü - netTrek
www.netTrek.de / us@netTrek.de
35 / 26
Mittwoch, 11. August 2010

Similar documents