Example Code for 360Flex Apollo Session
During my Apollo overview session at 360Flex, I built a simple HTML editor that provided live preview and allowed the HTML to save to the desktop. It is a pretty simple app, but it shows an example of using both the File API in Apollo as well as HTML.
I mentioned in the session that I would post it online, so here it is:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[ import flash.filesystem.FileMode; import
flash.filesystem.FileStream; import flash.filesystem.File; /* Called
when the user wants to save the file */ private function onSave():void {
//Get a reference to the desktop var desktop:File =
File.desktopDirectory; //create a reference to the file on the desktop
in which we will save html var saveFile:File =
desktop.resolve(fileName.text); //create a FileStream instance to write
to the file var fs:FileStream = new FileStream(); //open file in WRITE
mode fs.open(saveFile, FileMode.WRITE); //write the string to the file
fs.writeUTFBytes(input.text); //close the file / file stream fs.close();
} /* called when text in the TextArea changes */ private function
onTextChange():void { //pretty simple. Copy text from TextArea into HTML
control as HTML html.htmlText = input.text; } ]]>
</mx:Script>
<!-- Used to enter HTML -->
<mx:TextArea
right=""
left=""
id="input"
top=""
height="139"
textInput="onTextChange()"
/>
<!-- Save Button -->
<mx:Button
label="Save"
id="saveButton"
bottom="10"
right="10"
click="onSave()"
/>
<!-- File Name on Desktop to save HTML in -->
<mx:TextInput id="fileName" right="72" bottom="10" text="test.html" />
<!-- HTML field to do live preview of HTML -->
<mx:HTML right="" left="" top="147" bottom="40" id="html" />
</mx:Application>
Post any questions in the comments.