sábado, 1 de octubre de 2011

Utilizando AS3Signals de forma básica

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:

sábado, 17 de septiembre de 2011

Introducción a Robotlegs II . Modelos

Fuentes:
                                           (List y TextArea de 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

    video



    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.


    video

    sábado, 10 de septiembre de 2011

    Introducción a Robotlegs I . Comunicación entre vistas.

    video

    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.

    video

    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

    Hola Mundo en Android con Eclipse

    Fuente:  http://developer.android.com/resources/tutorials/hello-world.html


    video

    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.
    Y ya dispondremos de un autocompletado para jquery desde nuestro eclipse.

    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:
    • 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)" />



    video










    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:
    • 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 .
    video

    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):

    video

    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.

    video




    video




    *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.

    video 

    video 

    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