ClaseA
Contiene una variable pública de tipo Signal y será el que lo 'dispare'.
Se construye el signal añadiendo el tipo de clase que se 'insertará' en el signal:
this.miSignal = new Signal(ClaseVO);
En un momento dado lanzamos el signal:
this.miSignal.dispatch(miInstanciaDeClaseVO);
ClaseB
Dispone de una instancia de Clase A y se encargará de asignar una función de respuesta al signal emitido.
Función de respuesta:
public function funcionRespuesta(voParametro:ClaseVO):void{
...
}
Asignado la función de respuesta al signal:
miInstanciaDeClaseA.miSignal.add(funcionRespuesta);
En este ejemplo se ha decidido emitir una instancia de una clase personalizada pero podríamos 'insertar' cualquier otro tipo como por ejemplo String, Event,... y más de uno, como por ejemplo una instancia de ClaseVO y un String, teniendo en cuenta que la funcionRespuesta tendría los dos parametros, la forma de crear y despachar el signal sería:
this.miSignal = new Signal(ClaseVO,String);
this.miSignal.dispatch(miInstanciaDeClaseVO);
Fuentes:
Cuaderno de Bitácora
Cuaderno de bitácora, basado en minipíldoras, como muchos otros, dedicado básicamente a flash, flex, flash builder4 y alguna que otra cosilla.
sábado, 1 de octubre de 2011
sábado, 17 de septiembre de 2011
Introducción a Robotlegs II . Modelos
Fuentes:
La finalidad de un modelo es la de encapsular los datos de la aplicación y proporcionar una API para acceder y manipular eses datos, entre los que se encuentra el estado de la aplicación, en este caso, del autor seleccionado.
- Joel Hooks (Donde encontraremos las explicaciones en inglés y el código fuente)
- minimalcomps
Se trata de que cuando se seleccione un elemento de la lista muestre datos del objeto correspondiente en el textarea utilizando Robotlegs y la librería MinimalComps
La finalidad de un modelo es la de encapsular los datos de la aplicación y proporcionar una API para acceder y manipular eses datos, entre los que se encuentra el estado de la aplicación, en este caso, del autor seleccionado.
sábado, 10 de septiembre de 2011
Introducción a Robotlegs I . Comunicación entre vistas.
Pasos previos:
Siguiendo los pasos expuestos en Introducción a Robotlegs I . Registrando una vista se ha creado una vista de tipo Button y su mediador correspondiente en el que hemos injectado dicha vista, para posteriormente mapearla en el contexto por tanto el startup de "ContextoBasico1.as" quedaría así:
override public function startup():void{
mediatorMap.mapView(ViewTextArea, ViewTextAreaMediator);
mediatorMap.mapView(ViewButton,ViewButtonMediator);
}
Breve explicación:
El mediador de la vista botón (ViewButtonMediator.as) escucha el evento click de esta vista (ViewButton.mxml) mediante addViewListener; en el momento que esto ocurra, lanza un evento personalizado (MessageEvent.as). A su vez el mediador de la vista del textarea (ViewTextAreaMediator.as), mediante addContextListener, recoge el evento y lo utiliza para setear propiedades en la vista textarea.
Fuentes:
martes, 23 de agosto de 2011
Introducción a Robotlegs I . Registrando una vista.
Previa descarga del framework de Robotlegs, una vez creado el proyecto y sin pararnos en detalles, los pasos realizados han sido:
1. Incluir el swc del framework en la carpeta libs del proyecto, en este caso el robotlegs-framework-v1.4.0.swc .
2. Crear un contexto que hereda de Context (org.robotlegs.mvcs), en el que sobreescribiremos el método startup(). Contexto que se instancia dentro de la etiqueta declarations de la aplicación principal.
3. Crear una vista, en este caso, basada en TextArea.
4. Crear el mediador de la vista que hereda de Mediator (org.robotlegs.mvcs), que en el futuro será el enlace con la vista y por tanto el encargado de modificarla y hacer llegar los eventos que esta dispare. 'Inyectamos' la clase de la vista dentro del mediador utilizando el meta [Inject].
5. En el contexto mapeamos la vista con su mediador mediante mediatorMap, dentro del método startup().
6. Se ha creado una instancia de la vista en la aplicación principal.
7. Compilado y comprobado que el startup() se celebra como debiera.
Fuentes:
miércoles, 6 de julio de 2011
viernes, 1 de abril de 2011
Instalar jquerywtp en Eclipse (Code assist para JQuery)
Una vez descargada la última versión de jquerywtp_version.jar, actualmente sitada en http://garr.dl.sourceforge.net/project/jquerywtp/jquerywtp/jquerywtp0.40/jqueryWTP0.40foCn.jar
- Doble click sobre el jqueryWTPxxxx.jar, poner en el textbox “JAR File” la dirección del org.eclipse.wst.jsdt.core_version.jar (actualmente org.eclipse.wst.jsdt.core_1.1.4.v201102102045.jar) que está dentro de la carpeta “plugins” (carpeta ubicada dentro de la dirección de la instalación del eclipse), y en el textbox “Output Dir” otra dirección donde guardar el jar modificado y clicar “generate”.
- Reemplazar el org.eclipse.wst.jsdt.core_1.1.4.v201102102045.jar file por el jar generado. Aunque siempre es buena idea hacer antes una copia del original.
- Borrar la carpeta /.metadata/.plugins/org.eclipse.wst.jsdt.core de la carpeta 'workspace' del proyecto.
sábado, 13 de noviembre de 2010
HTTPService utilizando destination de proxy-config.xml (BlazeDS)
Esto sería una mezcla de entradas anteriores sobre la creación de HTTPService (I y II) e instalación y utilización de BlazedDS.
Teniendo en cuenta otros ejemplos expuestos en este blog sobre HTTPService la diferencia sería la utilización de su atributo "destination" que apunta a un destino expuesto en el proxy-config.xml, mediante al cual se accederá al .xml deseado. Para ello:
»Se ha creado un proyecto llamado usandoHTTPService_Blazeds1, con:
» Accedemos a nuestro proxy-config.xml de la instalación del BlazeDS, en el caso mostrado se encuentra en C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\BlazedsEnTomcat\WEB-INF\flex. En este xml se añade:
<destination id="destGetBook">
<properties>
<url>
http://localhost:8080/BlazedsEnTomcat/usandoHTTPService_Blazeds1-debug/data/Books.xml
</url>
</properties>
</destination>
» Reiniciamos el servidor Tomcat.
» Ahora podremos acceder al "destGetBook" desde una instancia de HTTPService mediante su propiedad destination:
<s:HTTPService
id="hsBooks"
destination="destGetBook"
result="hsBooks_resultHandler(event)"
fault="hsBooks_faultHandler(event)" />
Como ya he mencionado en muchas otras entradas, se trata del tipo de acceso no de como se trataría los datos recogidos, por tanto en este video no se muestra como recoger el result en un arraycollection, ni creación de VO, ni proveer de datos a ningún componente como podría haber sido un datagrid, etc.
Teniendo en cuenta otros ejemplos expuestos en este blog sobre HTTPService la diferencia sería la utilización de su atributo "destination" que apunta a un destino expuesto en el proxy-config.xml, mediante al cual se accederá al .xml deseado. Para ello:
»Se ha creado un proyecto llamado usandoHTTPService_Blazeds1, con:
- Application server type: J2EE
- Utilizando Use remote object access service de tipo BlazeDS
- En este ejemplo el Blazeds se encuentra implementado en C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\BlazedsEnTomcat, por tanto se ha utilizado esa dirección como Root folder.
- Root URL: http://localhost:8080/BlazedsEnTomcat
- Context root: BlazedsEnTomcat
- Se ha creado un paquete llamado data, donde se crea un xml llamado Books.xml (http://msdn.microsoft.com/en-us/library/ms762271%28VS.85%29.aspx.)
» Accedemos a nuestro proxy-config.xml de la instalación del BlazeDS, en el caso mostrado se encuentra en C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\BlazedsEnTomcat\WEB-INF\flex. En este xml se añade:
<destination id="destGetBook">
<properties>
<url>
http://localhost:8080/BlazedsEnTomcat/usandoHTTPService_Blazeds1-debug/data/Books.xml
</url>
</properties>
</destination>
» Reiniciamos el servidor Tomcat.
» Ahora podremos acceder al "destGetBook" desde una instancia de HTTPService mediante su propiedad destination:
<s:HTTPService
id="hsBooks"
destination="destGetBook"
result="hsBooks_resultHandler(event)"
fault="hsBooks_faultHandler(event)" />
Como ya he mencionado en muchas otras entradas, se trata del tipo de acceso no de como se trataría los datos recogidos, por tanto en este video no se muestra como recoger el result en un arraycollection, ni creación de VO, ni proveer de datos a ningún componente como podría haber sido un datagrid, etc.
viernes, 12 de noviembre de 2010
Utilizando el Blazeds Turnkey
En otras entradas de este blog (en el mes de Octubre) se ha tratado el blazeds en Flash Builder 4, tanto en un servidor 'virtual' de Flex, como en un servidor Tomcat 6.
En esta entrada, se verá como comenzar con Blazeds turney (http://opensource.adobe.com/wiki/display/blazeds/BlazeDS).
Para 'instalar' el Blazeds Turnkey:
En esta entrada, se verá como comenzar con Blazeds turney (http://opensource.adobe.com/wiki/display/blazeds/BlazeDS).
Para 'instalar' el Blazeds Turnkey:
- Descomprimir blazeds-turnkey-4.0.1.17657 en una carpeta, en mi caso en c:\BlazedsTurnkey .
- Agregar la variable de sistema JAVA_HOME apuntando al JDK, en mi caso C:\Archivos de programa\java\jdk1.6.0_22 (el JDK se puede descargar desde http://www.oracle.com/technetwork/java/javase/downloads/index.html). Tambien se puede realizar mediante consola (cmd) tanto el arranque, como para el paso siguiente.
- Posteriomente se podrá arrancar ejecutando el .bat startup y parar pulsando sobre shutdown, que se encontrarán en {CarpetaDondeSeHaDescomprimido}\tomcat\bin, en mi caso C:\BlazedsTurnkey\tomcat\bin .
Una vez arrancado, para acceder a los ejemplos de blazeds: http://localhost:8400/samples/ , donde encontraremos las instrucciones e información variada.
Accediendo a un ejemplo (arrando y parando servidor, base de datos hsqldb y ejemplo):
domingo, 7 de noviembre de 2010
Zend AMF desde Flash Buider 4 (II). Acceso a BBDD.
En los siguientes videos se muestra, de la forma más simple*, la creación de una base de datos y tabla desde phpMySqlAdmin, a la que accederemos desde Flash Builder 4 con Zend AMF.
*Simple: Se trata de hacer un ejemplo simple, sin pararse en best practices o tratado de datos.
*Simple: Se trata de hacer un ejemplo simple, sin pararse en best practices o tratado de datos.
sábado, 6 de noviembre de 2010
Zend AMF desde Flash Builder 4 (I)
Pequeño ejemplo de instalación de ZendAMF desde FB4 y creación de la plantilla, posteriormente en el segundo video se crea una función en SamplePhp.php y se accede a ella mediante una instancia de RemoteObject de forma muy simple.
Una vez hecho esto podríamos comprobar que ha instalado Zend AMF en C:\wamp\www\ZendFramework, además de crear C:\wamp\www\utilizandoAMFZend-debug con el contenido necesario (swfs, php, js, etc).
Nota: para editar el php desde FB4 he instalado el plugin de PDT (PHP Development Tools)
http://wiki.eclipse.org/PDT/Installation#Eclipse_3.5_.2F_Galileo_.2F_PDT_2.1
Suscribirse a:
Entradas (Atom)
