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