<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>learn-air.de &#187; Tutorials</title>
	<atom:link href="http://www.air-buch.de/category/adobe_air_tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.air-buch.de</link>
	<description>RIAS mit Adobe AIR entwickeln</description>
	<lastBuildDate>Thu, 12 Nov 2009 11:08:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Quickfinder – Google Maps 3D mit Adobe AIR</title>
		<link>http://www.air-buch.de/quickfinder-google-maps-3d-mit-adobe-air/</link>
		<comments>http://www.air-buch.de/quickfinder-google-maps-3d-mit-adobe-air/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 08:29:33 +0000</pubDate>
		<dc:creator>C. Pfeil</dc:creator>
				<category><![CDATA[FlexBuilder]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Maps]]></category>

		<guid isPermaLink="false">http://www.air-buch.de/?p=743</guid>
		<description><![CDATA[
Die Anwendung wandelt Postleitzahlen, Orte und Straßennamen in Geokoordinaten um und zeigt diese in einer dreidimensionalen Google Karte an.

Um diesen Anwendung testen zu können, laden Sie diese herunter und importieren Sie in FlexBuilder.
Außerdem benötigen Sie das kostenlose Google Maps SDK. Dieses können Sie hier herunterladen. Inkludieren Sie die im SDK enthaltene SWC Datei in FlexBuilder [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.air-buch.de/wp-content/uploads/2009/11/kopie-von-map4.jpg"><img src="http://www.air-buch.de/wp-content/uploads/2009/11/kopie-von-map4.jpg" alt="kopie-von-map4" title="kopie-von-map4" width="295" height="246" class="alignnone size-full wp-image-762" /></a></p>
<p>Die Anwendung wandelt Postleitzahlen, Orte und Straßennamen in Geokoordinaten um und zeigt diese in einer dreidimensionalen Google Karte an.</p>
<p><span id="more-743"></span></p>
<p>Um diesen Anwendung testen zu können, laden Sie diese herunter und importieren Sie in FlexBuilder.<br />
Außerdem benötigen Sie das kostenlose Google Maps SDK. Dieses können Sie <a href="http://code.google.com/intl/de/apis/maps/documentation/flash/tutorial-flexbuilder.html">hier</a> herunterladen. Inkludieren Sie die im SDK enthaltene SWC Datei in FlexBuilder über &#8220;Project > Properties > Flex Build Path > Library path > Add SWC&#8221;. Bitte fügen Sie ebenso einen gültigen <a href="http://code.google.com/intl/de/apis/maps/signup.html">Google API-Schlüssel</a> sowie eine URL in die maps:Map3D Komponente im MXML Code ein.</p>
<ul>
<li>Link: <a href="wp-content/uploads/2009/11/google_maps_app1.zip">Quickfinder Quellcode</a> (Flex Import)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.air-buch.de/quickfinder-google-maps-3d-mit-adobe-air/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bildschirmschoner mit AIR erstellen</title>
		<link>http://www.air-buch.de/bildschirmschoner-mit-air-erstellen/</link>
		<comments>http://www.air-buch.de/bildschirmschoner-mit-air-erstellen/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 07:00:13 +0000</pubDate>
		<dc:creator>C. Pfeil</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Bildschirmschoner]]></category>
		<category><![CDATA[Screensaver]]></category>

		<guid isPermaLink="false">http://www.air-buch.de/?p=418</guid>
		<description><![CDATA[
Mit Adobe AIR 1.5 lassen sich, ohne viel Aufwand und mit wenigen Zeilen Code, Bildschirmschoner unter Windows erstellen und installieren. Dieses Tutorial zeigt Ihnen, wie einfach es geht.

Der nachfolgende Code zeigt, wie einfach Sie einen Bildschirmschoner mit Adobe AIR erstellen können. Die AIR Applikation enthält eine Flash-Animation im SWF Format, die über SWFLoader eingebunden wird. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_screensaver.jpg"><img class="alignnone size-full wp-image-419" title="adobe_air_screensaver" src="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_screensaver.jpg" alt="adobe_air_screensaver" width="295" height="190" /></a></p>
<p>Mit Adobe AIR 1.5 lassen sich, ohne viel Aufwand und mit wenigen Zeilen Code, Bildschirmschoner unter Windows erstellen und installieren. Dieses Tutorial zeigt Ihnen, wie einfach es geht.</p>
<p><span id="more-418"></span></p>
<p>Der nachfolgende Code zeigt, wie einfach Sie einen Bildschirmschoner mit Adobe AIR erstellen können. Die AIR Applikation enthält eine Flash-Animation im SWF Format, die über SWFLoader eingebunden wird. Selbstverständlich können Sie diese gegen eine eigene SWF Datei austauschen.</p>
<p><strong>AIR_Screensaver.mxml:</strong></p>
<div style="font-size:11px; font-family:Courier; background-color:#ccc; padding:20px 0 5px 20px; margin-bottom:20px; overflow:auto">
<pre> &lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" showStatusBar="false" addedToStage="onInvokeEvent(event)" horizontalScrollPolicy="off" verticalScrollPolicy="off"&gt;
	&lt;mx:Script&gt;
		&lt;![CDATA[
			private function onInvokeEvent(eventObject:Event):void
			{
				// Schaltet das Fenster in den Vollbildmodus
				stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

				// Registriert zwei EventListener, die auf Mouse bzw. Keyboard Eingaben reagieren
				stage.addEventListener(MouseEvent.MOUSE_DOWN, onUserPresent);
				stage.addEventListener(KeyboardEvent.KEY_DOWN, onUserPresent);
			}

			private function onUserPresent(eventObject:Event):void
			{
				// Beendet die Applikation sobald eine Keyboard- oder Maus- Taste gedrückt wurde
				NativeApplication.nativeApplication.exit();
			}

		]]&gt;
	&lt;/mx:Script&gt;

	&lt;!-- Über SWFLoader, wird eine simple Flash Animation eingebunden und auf 100% der Fenstergröße skaliert --&gt;
	&lt;mx:SWFLoader x="0" y="0" id="animation" source="Animation.swf" scaleContent="true" width="100%" height="100%" autoLoad="true"/&gt;
	&lt;mx:Label x="10" y="10" text="Click the mouse button or press a key to exit." color="#FFFFFF" fontWeight="bold" alpha="0.75"/&gt;

&lt;/mx:WindowedApplication&gt;</pre>
</div>
<p>Um diese Applikation als Screensaver unter Windows zu installieren, gehen Sie bitte wie folgt vor:</p>
<ol>
<li>Laden und installieren Sie die AIR Datei</li>
<li>Rufen Sie das Installationsverzeichnisder Applikation auf</li>
<li>Suchen Sie die *.exe Datei und nennen Sie diese in *.scr um</li>
<li>Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie <em>Installieren</em></li>
</ol>
<p>Fertig! Ihre AIR Anwendung ist nun als Bildschirmschoner unter Windows installiert.</p>
<ul>
<li>Link: <a href="http://www.air-buch.de/wp-content/uploads/2009/01/air_screensaver.air">AIR_Screensaver.air</a></li>
<li>Link: <a href="http://www.air-buch.de/wp-content/uploads/2009/01/air_screensaver.zip">AIR_Screensaver Quellcode</a> (ZIP Flex Import)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.air-buch.de/bildschirmschoner-mit-air-erstellen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Adobe AIR Best practices</title>
		<link>http://www.air-buch.de/adobe-air-best-practices/</link>
		<comments>http://www.air-buch.de/adobe-air-best-practices/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 07:32:21 +0000</pubDate>
		<dc:creator>C. Pfeil</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.air-buch.de/?p=579</guid>
		<description><![CDATA[
Bei der Erstellung von Adobe AIR Applikationen gibt es eine Reihe von Best practices, die Sie unbedingt beachten sollten. Nachfolgend sind die wichtigsten Empfehlungen für Sie zusammengefasst.
Die nachfolgenden Empfehlungen sollen Ihnen als Entwickler helfen, bessere Applikationen zu entwickeln. Bei Einhaltung dieser Best practices vermeiden Sie, dass Anwender sich von Ihrer Applikation nicht belästigt fühlt. Zwar [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_best_practices.jpg"><img class="alignnone size-full wp-image-600" title="adobe_air_best_practices" src="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_best_practices.jpg" alt="adobe_air_best_practices" width="295" height="190" /></a></p>
<p>Bei der Erstellung von Adobe AIR Applikationen gibt es eine Reihe von <em>Best practices</em>, die Sie unbedingt beachten sollten. Nachfolgend sind die wichtigsten Empfehlungen für Sie zusammengefasst.</p>
<p><span id="more-579"></span>Die nachfolgenden Empfehlungen sollen Ihnen als Entwickler helfen, bessere Applikationen zu entwickeln. Bei Einhaltung dieser <em>Best practices</em> vermeiden Sie, dass Anwender sich von Ihrer Applikation nicht belästigt fühlt. Zwar bietet die Adobe AIR API, im Zusammenspiel mit dem Betriebsystem, eine ganze Reihe nützlicher Features, jedoch sollten Sie sparsam mit deren Einsatz umgehen.</p>
<p><strong>1. Empfehlung: Autostart von Applikationen</strong></p>
<pre>NativeApplication.nativeApplication.startAtLogin = true;</pre>
<p>Mithilfe dieser Zeile Code, können Sie veranlassen das Ihre Applikation automatisch gestartet wird sobald sich der Anwender am Betriebsystem anmeldet. Stellen Sie unbedingt sicher, dass sich diese Autostart-Option innerhalb Ihrer Applikation ein- und ausschalten lässt. Erlauben Sie dem Anwender auch die Autostart-Option gänzlich abzuschalten.</p>
<p><strong>2. Empfehlung: Fenster die im Vordergrund bleiben</strong></p>
<pre>NativeWindow.alwaysInFront = true;</pre>
<p>Diese Zeile Code bewirkt, dass ein beliebiges Fenster ständig im Vordergrund bleibt. Setzen Sie diese Option sparsam ein.</p>
<p><strong>3. Empfehlung: Dateien mit einer Applikation assoziieren</strong></p>
<pre>NativeApplication.nativeApplication.setAsDefaultApplication("jpg");</pre>
<p>Die Adobe AIR API erlaubt Ihnen, bestimmte Dateitypen mit Ihrer Applikation zu verknüpfen. D.h. in diesem Fall wenn der Anwender eine Datei mit der Endung <em>jpg </em>öffnet, wird Ihre Applikation automatisch gestartet. Alle <em>jpg </em>Dateien des lokalen Dateisystems sind damit mit Ihrer Applikation verknüpft.</p>
<p>Bitte beachten Sie bei der Entwicklung Ihrer AIR Applikation, dass eventuell bereits Verknüpfungen zwischen Dateitypen und anderen Applikationen, die auf dem System installiert sind, bestehen könnten.</p>
<p>Um die Verknüpfung zwischen Ihrer Applikation und einem bestimmten Dateityp wieder zu lösen, können Sie die nachfolgende Zeile Code verwenden.</p>
<pre>NativeApplication.nativeApplication.removeAsDefaultApplication("jpg");</pre>
<p><strong>4. Empfehlung: Vollbild-Applikationen</strong></p>
<pre>stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;</pre>
<p>Mit dieser Zeile Code schalten Sie ein bestimmtes Fenster in den Vollbildmodus. Dies ist unter anderem hilfreich wenn Sie z.B. einen Bildschirmschoner mit Adobe AIR erstellen möchten. Sorgen Sie jedoch dafür, dass der Anwender den Vollbildmodus auch sehr einfach wieder verlassen kann.</p>
<p><strong>5. Empfehlung: Custom chrome &#8211; Eigene Fenster verwenden</strong></p>
<p>Mit Hilfe der Adobe AIR API lassen sich die Fenster Ihrer Applikation frei definieren. So können Sie z.B. die für Fenster üblichen Buttons wie Minimieren, Maximieren oder Wiederherstellen gänzlich abschalten oder die Form eines Fensters völlig frei bestimmen.</p>
<p>Aber Vorsicht! Ermöglichen Sie dem Anwender auf jeden Fall, dass sich die Fenster Ihrer Applikation weiterhin Minimieren, Maximieren und Wiederherstellen lassen. Sie können hierfür nachfolgende Methoden nutzen:</p>
<pre>NativeWindow.close();
NativeWindow.minimize();
NativeWindow.maximize();</pre>
<p><strong>6. Empfehlung: Selbst erstellte Zertifikate für Applikationen</strong></p>
<p>Jeder Adobe AIR Applikation benötigt ein digitales Zertifikat. Zwar können Sie dieses Zertifikat ganz einfach selbst erstellen, es empfiehlt sich jedoch ein solches Zertifikat zu kaufen, sofern Sie vorhaben Ihre Applikation kommerziell zu vertreiben. Ansonsten sieht der Anwender bei der Installation ein rotes Kreuz, dass auf das Fehlen eines vertrauenswürdigen Zertifikates hinweist.</p>
<p><strong>7. Empfehlung: Taskleiste blinken lassen (Windows) und Dock-Icon hüpfen lassen (Mac OS X)<br />
</strong></p>
<pre>var type:String = NotificationType.CRITICAL;
stage.nativeWindow.notifyUser(type);</pre>
<p>Hiermit können Sie die Taskleiste von Windows blinken lassen.</p>
<pre>var type:String = NotificationType.CRITICAL;
var dock:DockIcon = NativeApplication.nativeApplication.icon as DockIcon;
dock.bounce(type);</pre>
<p>Dieser Code hingegen ermöglicht es Ihnen, dass Programm Icon Ihrer Applikation im Dock Menü (Mac OS X) hüpfen zu lassen.</p>
<p>Diese Features, egal ob unter Windows oder Mac OS X, sollten mit Bedacht eingesetzt werden. Verwenden Sie diese Features nur, um den Anwender auf etwas hinzuweisen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.air-buch.de/adobe-air-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anzeige lokaler Dateien mit Flex und AIR</title>
		<link>http://www.air-buch.de/anzeige-lokaler-dateien-mit-flexbuilder-3-und-adobe-air/</link>
		<comments>http://www.air-buch.de/anzeige-lokaler-dateien-mit-flexbuilder-3-und-adobe-air/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 11:54:46 +0000</pubDate>
		<dc:creator>C. Pfeil</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.air-buch.de/?p=495</guid>
		<description><![CDATA[FlexBuilder 3 besitzt für die Entwicklung von AIR Applikationen spezielle Komponenten. Erfahren Sie wie Sie einen Dateibrowser erstellen, der den Inhalt Ihres  Dateisystems und Informationen über Dateien und Verzeichnisse anzeigt.
FlexBuilder 3 bietet derzeit insgesamt sechs Komponenten an, die speziell für die Entwicklung von AIR Applikationen vorgesehen sind. Diese Komponenten sind: FileSystemComboBox, FileSystemDataGrid, FileSystemHistoryButton, FileSystemList, FileSystemTree [...]]]></description>
			<content:encoded><![CDATA[<p>FlexBuilder 3 besitzt für die Entwicklung von AIR Applikationen spezielle Komponenten. Erfahren Sie wie Sie einen Dateibrowser erstellen, der den Inhalt Ihres  Dateisystems und Informationen über Dateien und Verzeichnisse anzeigt.</p>
<p><span id="more-495"></span><a href="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_flex_components1.jpg"><img class="size-full wp-image-504 alignleft" title="Adobe AIR FlexBuilder 3 Komponenten" src="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_flex_components1.jpg" alt="Adobe AIR FlexBuilder 3 Komponenten" width="291" height="188" /></a>FlexBuilder 3 bietet derzeit insgesamt sechs Komponenten an, die speziell für die Entwicklung von AIR Applikationen vorgesehen sind. Diese Komponenten sind: <a href="http://livedocs.adobe.com/flex/3/html/FlexApolloComponents_03.html#1029362">FileSystemComboBox</a>, <a href="http://livedocs.adobe.com/flex/3/html/FlexApolloComponents_06.html#1029364">FileSystemDataGrid</a>, <a href="http://livedocs.adobe.com/flex/3/html/FlexApolloComponents_07.html#1029688">FileSystemHistoryButton</a>, <a href="http://livedocs.adobe.com/flex/3/html/FlexApolloComponents_05.html#1029497">FileSystemList</a>, <a href="http://livedocs.adobe.com/flex/3/html/FlexApolloComponents_04.html#1029510">FileSystemTree</a> und <a href="http://livedocs.adobe.com/flex/3/html/FlexApolloComponents_09.html#1029309">HTML</a>.</p>
<p>In diesem Tutorial beschäftigen wir uns mit der FileSystemTree und FileSystemDataGrid Komponente, zur Erstellung eines einfachen Dateibrowsers.</p>
<p><strong>Die Komponenten FileSystemTree und FileSystemDataGrid</strong></p>
<p>Die FileSystemTree Komponente ist der Lage, den Inhalt von Verzeichnissen in einer Baumansicht darzustellen. Die Komponente bietet zahlreiche Einstellungsmöglichkeiten. So lässt sich z.B. die Erweiterung der Dateien abschalten oder versteckte Dateien ein- oder ausblenden.</p>
<p>Die FileSystemDataGrid Komponente zeigt, genau wie die FileSystemTree Komponente, den Inhalt des lokalen Dateisystems an. Jedoch werden die Daten in einem sogenannten Datenraster (Data grid) visualisiert. Diese Komponente ist Tabellen-artig aufgebaut und zeigt z.B. Name, Typ, Größe, Erstellungsdatum und Modifizierungsdatum von Dateien und Verzeichnissen an, die mittles dieser Komponente dargestellt werden.</p>
<p><strong>Die Applikation</strong></p>
<p>Die Applikation sieht wie folgt aus, sobald sie diese mithilfe von FlexBuilder 3 kompilieren.</p>
<p><a href="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_file_browser.jpg"><img class="alignnone size-full wp-image-513" title="Adobe AIR FlexBuilder 3 Dateibrowser" src="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_file_browser.jpg" alt="Adobe AIR FlexBuilder 3 Dateibrowser" width="603" height="383" /></a></p>
<p>Ein paar Worte zum Quellcode und zum Aufbau der Applikation: Sobald die FileSystemTree Komponente verändert wird, also z.B. ein Klick auf ein Verzeichnis oder eine Datei erfolgt, wird die Methode RefreshDataGrid() aufgerufen, die, sofern ein Verzeichnis aufgerufen wurde, der FileSystemDataGrid Komponente das aktuell ausgewählte Verzeichnis der FileSystemTree Komponente übergibt. Die FileSystemDataGrid Komponente zeigt daraufhin alle Unteverzeichnisse und Dateien des ausgewählten Verzeichnisses an.</p>
<p>Beim Klick auf eine Datei oder ein Verzeichnis in der FileSystemDataGrid Komponente, wird die Methode fileSelected() aufgerufen, die Informationen über eine bestimmte Datei oder ein Verzeichnis ausgibt &#8211; je nachdem was der Anwender gewählt hat. Die Ausgabe dieser Informationen erfolgt mittels der Alert() Klasse.</p>
<p>Nachfolgend sehen Sie den kompletten Quellcode. Scrollen Sie ganz nach unten, um das FlexBuilder 3 ZIP Archiv für den direkten Import herunterzuladen.</p>
<p><strong>FileBrowser.mxml:</strong></p>
<div style="font-size:11px; font-family:Courier; background-color:#ccc; padding:20px 0 5px 20px; margin-bottom:20px; overflow:auto">
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"&gt;

&lt;mx:Script&gt;
	&lt;![CDATA[
		import mx.events.FileEvent;
		import mx.controls.Alert;

		private function fileSelected(event:Event):void
		{
			if(DataGrid.selectedItems.length &gt; 0)
			{
				var fileInfo:String = new String();
				var selectedFile:File = File(DataGrid.selectedItem);

				fileInfo  = "creationDate: " + selectedFile.creationDate + "n";
				fileInfo += "creator: " + selectedFile.creator + "n";
				fileInfo += "exists: " + selectedFile.exists + "n";
				fileInfo += "extension: " + selectedFile.extension + "n";
				fileInfo += "icon: " + selectedFile.icon + "n";
				fileInfo += "isDirectory: " + selectedFile.isDirectory + "n";
				fileInfo += "modificationDate: " + selectedFile.modificationDate + "n";
				fileInfo += "name: " + selectedFile.name + "n";
				fileInfo += "nativePath: " + selectedFile.nativePath + "n";
				fileInfo += "parent: " + selectedFile.name + "n";
				fileInfo += "size: " + selectedFile.size + "n";
				fileInfo += "type: " + selectedFile.type + "n";
				fileInfo += "url: " + selectedFile.url + "n";

				Alert.show(fileInfo, "Info");
			}
		}

		private function RefreshDataGrid(event:Event):void
		{
			if(File(FileTree.selectedItem).isDirectory)
			{
				DataGrid.directory = File(FileTree.selectedItem);
			}
		}
	]]&gt;
&lt;/mx:Script&gt;

&lt;mx:HDividedBox x="0" y="0" width="100%" height="100%" top="10" right="10" bottom="10" left="10"&gt;

	&lt;mx:FileSystemTree id="FileTree"
		height="100%"
		width="200"
		showHidden="false"
		showIcons="true"
		showExtensions="true"
		change="RefreshDataGrid(event)" /&gt;

	&lt;mx:VDividedBox x="0" y="0" width="100%" height="100%"&gt;

		&lt;mx:FileSystemDataGrid id="DataGrid"
			height="100%"
			width="100%" /&gt;

		&lt;mx:Button label="Info"
			click="{fileSelected(event)}" /&gt;

	&lt;/mx:VDividedBox&gt;		

&lt;/mx:HDividedBox&gt;

&lt;/mx:WindowedApplication&gt;</pre>
</div>
<p>Dieses Tutorial können Sie als Flex ZIP Datei herunterladen und direkt in FlexBuilder importieren.</p>
<p><strong>Link:</strong> <a href="http://www.air-buch.de/wp-content/uploads/2009/01/filebrowser.zip">FileBrowser.zip</a> (FlexBuilder 3 ZIP Import)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.air-buch.de/anzeige-lokaler-dateien-mit-flexbuilder-3-und-adobe-air/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Einfacher Download Manager</title>
		<link>http://www.air-buch.de/einfacher-download-manager/</link>
		<comments>http://www.air-buch.de/einfacher-download-manager/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 09:26:32 +0000</pubDate>
		<dc:creator>C. Pfeil</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.air-buch.de/?p=456</guid>
		<description><![CDATA[
Dieses Tutorial zeigt die Erstellung eines einfachen Download Managers mithilfe von Adobe AIR. Mit diesem Tool können Sie eine beliebige Datei von einem Webserver auf Ihr lokales Dateisystem übertragen.
Diese Applikation funktioniert wie folgt: In das Textfeld geben Sie einen beliebige URL zu einer Datei auf einem Webserver an. In diesem Beispiel, habe ich die URL [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_download_manager2.jpg"><img class="alignnone size-full wp-image-461" title="adobe_air_download_manager2" src="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_download_manager2.jpg" alt="adobe_air_download_manager2" width="295" height="190" /></a></p>
<p>Dieses Tutorial zeigt die Erstellung eines einfachen Download Managers mithilfe von Adobe AIR. Mit diesem Tool können Sie eine beliebige Datei von einem Webserver auf Ihr lokales Dateisystem übertragen.</p>
<p><span id="more-456"></span><a href="http://www.air-buch.de/wp-content/uploads/2009/01/downloadmanagerscreenshot.jpg"><img class="size-full wp-image-474 alignright" title="Ein Download Manager erstellt mit Adobe AIR 1.5" src="http://www.air-buch.de/wp-content/uploads/2009/01/downloadmanagerscreenshot.jpg" alt="downloadmanagerscreenshot" width="375" height="125" /></a>Diese Applikation funktioniert wie folgt: In das Textfeld geben Sie einen beliebige URL zu einer Datei auf einem Webserver an. In diesem Beispiel, habe ich die URL einer FLV Datei voreingestellt. Beim Klick auf den Button beginnt der Download Prozess und wird mittels eines Fortschritsbalkens (ProgressBar) angezeigt. Die jeweilige Datei wird auf Ihrem Desktop gespeichert. Ist der Download abgeschlossen, können Sie erneut eine Datei zum Download angeben.</p>
<p>Die Applikation verwendet die Klasse DownloadManager, welche dem Source Code beiliegt (siehe ganz unten!).</p>
<p><strong>DownloadManager.mxml:</strong></p>
<div style="font-size:11px; font-family:Courier; background-color:#ccc; padding:20px 0 5px 20px; margin-bottom:20px; overflow:auto">
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()"&gt;

&lt;mx:Script&gt;
	&lt;![CDATA[
		import com.elad.framework.utils.DownloadManager;
		import mx.controls.Alert;

		private var DownloadDirectory:String;
		private var FileName:String;

		private function init():void
		{
			DownloadDirectory = File.desktopDirectory.nativePath;
		}

		private function downloadFile():void
		{
			DownloadBtn.enabled = false;
			DownloadPath.enabled = false;

			FileName = DownloadPath.text.substring(DownloadPath.text.lastIndexOf("/")+1, DownloadPath.text.length);				

		        var downloadHelper:com.elad.framework.utils.DownloadManager = new com.elad.framework.utils.DownloadManager();

		        downloadHelper.addEventListener(ProgressEvent.PROGRESS, onDownloadProgress);
		        downloadHelper.addEventListener(Event.COMPLETE, onDownloadComplete);
		        downloadHelper.addEventListener(IOErrorEvent.IO_ERROR, onDownloadIOError);

		        downloadHelper.downloadFileFromServer(DownloadPath.text, DownloadDirectory + "/" + FileName);
		}

	        private function onDownloadProgress(event:ProgressEvent):void
	        {
			var value:Number = event.bytesLoaded;
			var total:Number = event.bytesTotal;
			var precent:Number = Math.round(value*100/total);

			if (progressBar.minimum==0)
			{
				progressBar.minimum = value;
				progressBar.maximum = total;
			}

			progressBar.label = "Download "+precent+"%";
			progressBar.setProgress(value, total);
        	}

        	private function onDownloadComplete(event:Event):void
        	{
 			Alert.show("Download erfolgreich beendet!");
 			DownloadBtn.enabled = true;
			DownloadPath.enabled = true;
        	}

        	private function onDownloadIOError(event:IOErrorEvent):void
        	{
        		Alert.show(event.text);
        	}	

		]]&gt;
	&lt;/mx:Script&gt;

	&lt;mx:ProgressBar id="progressBar" x="10" y="40" minimum="0" label="Download 0%" mode="manual" width="250"/&gt;
	&lt;mx:TextInput id="DownloadPath" x="10" y="10" width="250"&gt;
		&lt;mx:text&gt;http://adobe.edgeboss.net/download/adobe/adobetv/gotoandlearn/airupdate.flv&lt;/mx:text&gt;
	&lt;/mx:TextInput&gt;
	&lt;mx:Button id="DownloadBtn" x="268" y="10" label="Download" click="downloadFile()"/&gt;

&lt;/mx:WindowedApplication&gt;</pre>
</div>
<p>Dieses Tutorial können Sie als Flex ZIP Datei herunterladen und direkt in FlexBuilder importieren.</p>
<p>Link: <a href="http://www.air-buch.de/wp-content/uploads/2009/01/downloadmanager.zip">AIR DownloadManager Quellcode</a> (ZIP Flex Import)</p>
<p><a href="http://www.air-buch.de/wp-content/uploads/2009/01/adobe_air_download_manager.jpg"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.air-buch.de/einfacher-download-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screenshots mit Adobe AIR erstellen</title>
		<link>http://www.air-buch.de/screenshots-mit-adobe-air-erstellen/</link>
		<comments>http://www.air-buch.de/screenshots-mit-adobe-air-erstellen/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 17:45:15 +0000</pubDate>
		<dc:creator>C. Pfeil</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.air-buch.de/?p=377</guid>
		<description><![CDATA[ Mithilfe der Adobe AIR API und der JPGEncoder Klasse (enthalten in as3corelib) können Sie einen Screenshot Ihrer Applikation als JPG-Datei speichern.
&#8220;Echte Screenshots&#8221; zu machen, verbieten die Sicherheitsrichtlinien der Adobe AIR Runtime von Haus aus. Dies funktioniert nur auf Umwegen, aber nicht direkt mit Adobe AIR. Zwar könnte man meinen, dass man diese Sicherheitsrichtlinie umgehen [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-397 alignleft" title="adobe_air_screenshot" src="http://www.air-buch.de/wp-content/uploads/2008/12/adobe_air_screenshot.jpg" alt="adobe_air_screenshot" width="300" height="200" /> Mithilfe der Adobe AIR API und der <a href="http://code.google.com/p/as3corelib/">JPGEncoder</a> Klasse (enthalten in <a href="http://code.google.com/p/as3corelib/"><span style="text-decoration: none; color: #000000;">as3corelib</span></a>) können Sie einen Screenshot Ihrer Applikation als JPG-Datei speichern.</p>
<p>&#8220;Echte Screenshots&#8221; zu machen, verbieten die Sicherheitsrichtlinien der Adobe AIR Runtime von Haus aus. Dies funktioniert nur auf <a href="http://blog.everythingflex.com/2008/04/24/do-a-screen-capture-with-adobe-air/">Umwegen</a>, aber nicht direkt mit Adobe AIR. Zwar könnte man meinen, dass man diese Sicherheitsrichtlinie umgehen kann indem man ein Applikationsfenster transparent bzw. halbtransparent einstellt und dann einen Screenshots erstellt, aber anstatt des durchscheinenden Desktops erhält man lediglich weiße Pixels.</p>
<p>Der nachfolgende Code zeigt, wie einfach Sie einen Screenshot Ihres Applikationsfensters, mitsamt den darin enthaltenen Elementen, als JPG-Datei speichern können.</p>
<p><strong>AIR_Screenshot_Beispiel.mxml:</strong></p>
<div style="font-size:11px; font-family:Courier; background-color:#ccc; padding:20px 0 5px 20px; margin-bottom:20px">
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" initialize="init()"&gt;
<pre style="padding-left:30px">&lt;mx:Script&gt;
&lt;![CDATA[
import mx.core.Window;
import mx.controls.Alert;
import flash.display.Bitmap;
import com.adobe.images.JPGEncoder;
import flash.filesystem.*;

private var imageFile:File;
private var fileStream:FileStream;

private function init():void
{
	imageFile = File.desktopDirectory.resolvePath("Screenshot.jpg");
	fileStream = new FileStream();
	fileStream.addEventListener(Event.CLOSE, completeHandler);
	fileStream.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
}

private function snagPic():void
{
	var bitmapData:BitmapData = new BitmapData(this.width, this.height);
	bitmapData.draw(this.stage,new Matrix());

	var bitmap : Bitmap = new Bitmap(bitmapData);
	var jpg:JPGEncoder = new JPGEncoder(100);
	var ba:ByteArray = jpg.encode(bitmapData);

	fileStream.openAsync(imageFile, FileMode.WRITE);
	fileStream.writeBytes(ba);
	fileStream.close();
}

private function completeHandler(event:Event):void
{
	Alert.show("Pfad:n" + imageFile.nativePath, "Screenshot gespeichert!");
}

private function errorHandler(event:IOErrorEvent):void
{
	Alert.show(event.text, "Fehler!");
}
]]&gt;
&lt;/mx:Script&gt;</pre>
<p>&lt;mx:Button x="10" y="10" id="btn" label="Screenshot erstellen" click="snagPic()"/&gt;</p>
<p>&lt;/mx:WindowedApplication&gt;</pre>
</div>
<p>Selbstverständlich können Sie diesen Quellcode, als Flex Import downloaden.<br />
<a href="http://www.air-buch.de/wp-content/uploads/2008/12/air_screenshot_beispiel.zip">AIR_Screenshot_Beispiel.zip</a></p>
<p><strong>Weiterführende Weblinks:</strong></p>
<ul>
<li><a href="http://blog.everythingflex.com/2008/04/24/do-a-screen-capture-with-adobe-air/">http://blog.everythingflex.com &#8211; Do a Screen Capture with Adobe AIR</a> (englisch)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.air-buch.de/screenshots-mit-adobe-air-erstellen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
