HTTP/1.0 200 OK Accept-Ranges: none Content-Location: http://hinderberg.no/hovedprosjekt-starte-med-flex/ Content-Type: text/html; charset=UTF-8 Date: Tue, 07 Sep 2010 22:22:41 GMT Set-Cookie: PREF=ID=b2f2eacf8f7f37b4:TM=1283898161:LM=1283898166:S=CacPHVDEyYpAVtzx; expires=Thu, 06-Sep-2012 22:22:46 GMT; path=/; domain=translate.googleusercontent.com X-Content-Type-Options: nosniff Server: translation Expires: Tue, 07 Sep 2010 22:22:41 GMT Cache-Control: private Principal del proyecto: Comience con flex obstrucción Berg "

Principal del proyecto: Comience con flex

Domingo, 18 de enero 2009 en

Entonces comenzó 2009 y hemos empezado nuestro proyecto principal (tesis de licenciatura). Terminamos con un proyecto emocionante que ha sido suministrado por Brook Consulting. El proyecto ha sido nombrado AirDog .

Esencialmente este proyecto es el desarrollo de un software estadístico y presentación de informes con los datos suministrados por el Kennel Club Noruego (NKK).

Los dos directores que han sido premiados por el arroyo llamado Erlend y Ole. Son miembros de clubes de perro de caza del puntero y el bretón, el programa será fundamentalmente dirigidas a estos dos clubes en el primer lugar.

Vamos a utilizar las lenguas flex y php. Tenemos algo de experiencia con php antes, pero flex es algo completamente nuevo.

Después de algunos experimentos que terminé con esto:

feedflex

Estados Feed Flex y se puede decir que me perdí un poco, pero aprendí mucho. Para suscribirse a un canal de alimentación con Flex, usted necesita un crossdomain.xml en la raíz del dominio de la alimentación viene. También es necesario que se establezca de manera que se puede acceder desde el exterior.

La razón no me di cuenta esto antes el programa estaba "terminado" fue que, en modo de depuración no hay ningún requisito para crossdomain.xml introducido. Sólo cuando me envió la solicitud a Tore (amigo de la escuela) que me di cuenta de que algo andaba mal. Para los que quieren tener acceso a archivos e información fuera del dominio como su aplicación Flex está funcionando así que lea más acerca de aquí: Tutorial Flash Flex / - Cómo crear un archivo crossdomain.xml.

El código fuente de Flex Feed:

FeedFlex.mxml

<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initData()" width="100%" height="100%"> </mx><mx :Script> < ![CDATA[ import mx.rpc.events.FaultEvent; import mx.formatters.DateFormatter; import mx.resources.ResourceBundle; import mx.collections.*; import mx.controls.*; import mx.events.*; [Bindable] public var localFeeds:ArrayCollection = new ArrayCollection(); public var lsofeeds:LSOHandler; public function initData():void { lsofeeds = new LSOHandler("feeds"); if (lsofeeds.getObjects()) { localFeeds = lsofeeds.getObjects(); } } private function addFeed():void { var df:DateFormatter = new DateFormatter(); df.formatString="DD-MMM-YYYY"; var o:Object = {name:addAName.text, url:addAurl.text, date:df.format(new Date())}; lsofeeds.addObject(o); localFeeds = lsofeeds.getObjects(); addAName.text = ""; addAurl.text = ""; } private function removeFeed(eventObj:CloseEvent):void { if (eventObj.detail==Alert.OK) { if (myGrid.selectedIndex > -1) { localFeeds.removeItemAt(myGrid.selectedIndex); } } } public function clickHandler(event:ItemClickEvent):void { if (event.index == 0){ httpRSS.url = myGrid.selectedItem.url; httpRSS.send(); } else if (event.index == 1) { myGrid.editable = true; } else { var objAlert:Alert = Alert.show( "Vil du slette " + myGrid.selectedItem.url, "Slette?", Alert.OK | Alert.CANCEL, this, removeFeed, null, Alert.OK); } } private function feedFaultHandler(event:FaultEvent):void { Alert.show("Problem med å laste inn feeden\n" + "Problemet kan komme av at det ikke er en feed url som er skrevet inn.", "Feed problem"); } ]]> </mx> <mx :HTTPService id="httpRSS" resultFormat="object" fault="feedFaultHandler(event);" /> <mx :VBox id="theBox" height="100%" width="80%" horizontalAlign="center"> </mx><mx :Panel id="adder" title="RSS URL" width="100%"> </mx><mx :Form width="100%"> </mx><mx :Canvas height="57"> <mx :Label  id="labelUrl" text="URL:" x="0" y="29"/> <mx :Label  id="labelNavn" text="NAVN:" x="0" y="1"/> <mx :TextInput id="addAName" width="287" borderStyle="solid" x="46" y="0"/> <mx :TextInput id="addAurl" width="287" borderStyle="solid" x="46" y="25"/> <mx :Button label="Legg til" click="addFeed()" x="341" y="25"/> </mx> <mx :DataGrid id="myGrid" width="100%" height="133" dataProvider="{localFeeds}"> </mx><mx :columns> <mx :DataGridColumn headerText="Navn" dataField="name" /> <mx :DataGridColumn headerText="Url" dataField="url" /> <mx :DataGridColumn headerText="Dato lagt inn" dataField="date" /> </mx><mx :DataGridColumn headerText="Slett" editable="false"> </mx><mx :itemRenderer> </mx><mx :Component> </mx><mx :ButtonBar itemClick="outerDocument.clickHandler(event)"> </mx><mx :dataProvider> </mx><mx :Array> </mx><mx :String>Last inn</mx> <mx :String>Rediger</mx> <mx :String>Slett</mx> <mx :Panel id="reader" title="RSS innhold" width="100%"> </mx><mx :DataGrid id="entries" width="100%" dataProvider="{httpRSS.lastResult.rss.channel.item}" itemClick="{body.htmlText=httpRSS.lastResult.rss.channel.item[entries.selectedIndex].description}"> </mx><mx :columns> <mx :DataGridColumn dataField="title" headerText="Tittel" /> <mx :DataGridColumn dataField="pubDate" headerText="Dato" /> </mx> <mx :TextArea id="body" editable="false" width="100%" height="100"/> 

LSOHandler.as

 // ActionScript file package { import mx.collections.ArrayCollection; import flash.net.SharedObject; public class LSOHandler { private var mySO:SharedObject; private var ac:ArrayCollection; private var lsoType:String; public function LSOHandler(s:String) { init(s); } private function init(s:String):void { ac = new ArrayCollection(); lsoType = s; mySO = SharedObject.getLocal(lsoType); if (getObjects()) { ac = getObjects(); } } public function getObjects():ArrayCollection { return mySO.data[lsoType]; } public function addObject(o:Object):void { ac.addItem(o); updateSharedObjects(); } private function updateSharedObjects():void { mySO.data[lsoType] = ac; mySO.flush(); } } } 

Se utiliza Adobe - Flex 3 LiveDocs encontrar la mayoría de la información que necesita para empezar.

Ayudó en particular, entender el objeto compartido, que es el Flex tipo de galleta. Para obtener más información acerca de cómo usted lo utiliza usted puede sacar de este enlace: http://livedocs.adobe.com/flex/3/html/help.html?content=lsos_3.html

Echa un vistazo a nuestra página del proyecto http://prosjekt.mindre.net

Categorías Flex , Desarrollo
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • Add to favorites
  • PDF

Escribe un comentario