Para la realización de procesado de datos en cliente que es muy pesado, lo mejor es utilizar hilos, pero Action Script 3 no tiene es capacidad.
Para ello existe una librería que se encarga de simularlos, así que aquí os la dejo para futuros usos, por ahora no he podido hacer ningún ejemplo.
ENDER_LIB: http://code.google.com/p/ender-lib/
Translate
Mostrando entradas con la etiqueta Action Script 3. Mostrar todas las entradas
Mostrando entradas con la etiqueta Action Script 3. Mostrar todas las entradas
lunes, 18 de marzo de 2013
martes, 22 de enero de 2013
Generación de IDs únicos en ActionsScript y en Java
Para la generación de IDS únicos tanto en Java tenemos dos librerías incluidas dentro de las SDK de Java y de Flex que nos ayudan mucho a realizar esta tarea.
Java:
String uuid = java.util.UUID.randomUUID().toString();
ActionScript:
var uuid:String = UIDUtil.createUID();
miércoles, 26 de septiembre de 2012
Flex: operación trim() para los string
La operación trim() no aparece en la propia clase de String igual que en java, aquí tenemos que recurrir a la ayuda de StringUtil para conseguir esa función.
Es una clase estática con multitud de operacione, pero concretamente la que nos interesa sirve para eliminar los espacios en blanco del comienzo y final de un string.
Es una clase estática con multitud de operacione, pero concretamente la que nos interesa sirve para eliminar los espacios en blanco del comienzo y final de un string.
var token:String = " antuansoft "; StringUtil.trim(token)); //Salida: "antuansoft"
miércoles, 27 de junio de 2012
Flex - itemCreationPolicy: La política de creación de un objeto es útil
Pre-requisitos: Conocimientos básicos de Flex.
Esta particularidad de Flex es bastante útil desde mi punto de vista por dos puntos principalmente.
El comportamiento deferred es el que está puesto por defecto ya que si fuera al contrario y todos los componentes cargaran en nuestra aplicación esta podría consumir mucha memoria y perder rendimiento.
Los que tienen el valor deferred se crean cuando el objeto es instanciado es decir cuando aparece en pantalla y el objeto tes visible.
Pero en ciertos casos necesitamos que este objeto aunque no se vea en pantalla necesitamos que se cree para que por ejemplo se carguen en él unos datos recuperados de base de datos o que al cargase se ejecute algún evento que necesitemos que ocurra.
En estos casos lo mejor es poner el campo itemCreationPolicy="immediate" para que aunque no sea visible se comporte como si lo fuera y se cree al cargase la pantalla.
Todos los componentes de flex tienen esta propiedad itemCreationPolicy y puede aplicase cuando se crea necesario:
Referencias:
http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf63611-7ffa.html
Esta particularidad de Flex es bastante útil desde mi punto de vista por dos puntos principalmente.
- Para ahorrar memoria.
- Para mejorar el comportamiento al a vista del usuario.
- Deferred: Que hace que el objeto se cree cuando es instaciado. Valor por defecto
- Inmediate: Que hace que el objeto se cree al inciar la aplicación.
El comportamiento deferred es el que está puesto por defecto ya que si fuera al contrario y todos los componentes cargaran en nuestra aplicación esta podría consumir mucha memoria y perder rendimiento.
Los que tienen el valor deferred se crean cuando el objeto es instanciado es decir cuando aparece en pantalla y el objeto tes visible.
Pero en ciertos casos necesitamos que este objeto aunque no se vea en pantalla necesitamos que se cree para que por ejemplo se carguen en él unos datos recuperados de base de datos o que al cargase se ejecute algún evento que necesitemos que ocurra.
En estos casos lo mejor es poner el campo itemCreationPolicy="immediate" para que aunque no sea visible se comporte como si lo fuera y se cree al cargase la pantalla.
Todos los componentes de flex tienen esta propiedad itemCreationPolicy y puede aplicase cuando se crea necesario:
<s:Button id="newButtonImmediate"
includeIn="Immediate"
itemCreationPolicy="immediate"/>
Referencias:
http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf63611-7ffa.html
jueves, 17 de mayo de 2012
Flex 4: Acceder al contenedor padre de un Itemrenderer
Calling parent container from ItemRendere.
Pre-requisitos: Conocimientos básicos de Flex 4 (funcionamiento de un Itemrenderer) y Action Script 3.
Una de las mejores características de flex es que te permite crear listas de objetos, con la particularidad de que podemos crear diseños e interfaces muy visuales de estos objetos gracias a los Itemrederers. Por ejemplo, una lista botones donde cada botón tiene un diseño similar con funcionalidad similar.
Pero puede que tengamos la necesidad de acceder, no sólo a la lista que contiene al itemrenderer sino también a la vista que contiene a esta lista para acceder a alguno de sus objetos declarados o funciones.
La parte negativa de esto es que el Itemrenderer que lo utilice quedará totalmente acoplado a la vista padre a la que hacemos referencia y no podrá ser un elemento independiente y reutilizable por otras listas.
El propio itemrenderer ya nos trae distintas propiedades rellenas con la información de los datos con lo que hemos rellenado la lista.
data: Contiene la información del elemento de la lista al que representa el itemrenderer.
parentDocument: hace referencia a algún objetos padre que contiene al itemrederer.
También se puede sobre-escribir funciones como set data() que se ejecutará para de asignar el valor de uno de los elementos de la lista al itemrenderer.
Para acceder a la vista padre lo que debemos utilizar es parentDocument.parentDocument que nos devolverá un objeto del tipo de contiene a lista.
El ejemplo que os pongo a continuación es una mxml principal(MainApp.mxml) con una lista y el itemrender utilizado (ServiceIR.mxml). Se supone que ambos están en el mismo paquete de la aplicación.
MainApp.mxml
El objeto items del data provider podría ser un arrayCollections de Strings por ejemplo.
ServicesIR.mxml
Utilizo la función set data para asignar para recuperar al objeto padre y acceder a lo que necesite para modificar los datos como sea necesario.
Pre-requisitos: Conocimientos básicos de Flex 4 (funcionamiento de un Itemrenderer) y Action Script 3.
Una de las mejores características de flex es que te permite crear listas de objetos, con la particularidad de que podemos crear diseños e interfaces muy visuales de estos objetos gracias a los Itemrederers. Por ejemplo, una lista botones donde cada botón tiene un diseño similar con funcionalidad similar.
Pero puede que tengamos la necesidad de acceder, no sólo a la lista que contiene al itemrenderer sino también a la vista que contiene a esta lista para acceder a alguno de sus objetos declarados o funciones.
La parte negativa de esto es que el Itemrenderer que lo utilice quedará totalmente acoplado a la vista padre a la que hacemos referencia y no podrá ser un elemento independiente y reutilizable por otras listas.
El propio itemrenderer ya nos trae distintas propiedades rellenas con la información de los datos con lo que hemos rellenado la lista.
data: Contiene la información del elemento de la lista al que representa el itemrenderer.
parentDocument: hace referencia a algún objetos padre que contiene al itemrederer.
También se puede sobre-escribir funciones como set data() que se ejecutará para de asignar el valor de uno de los elementos de la lista al itemrenderer.
Para acceder a la vista padre lo que debemos utilizar es parentDocument.parentDocument que nos devolverá un objeto del tipo de contiene a lista.
El ejemplo que os pongo a continuación es una mxml principal(MainApp.mxml) con una lista y el itemrender utilizado (ServiceIR.mxml). Se supone que ambos están en el mismo paquete de la aplicación.
MainApp.mxml
<s:Application
................
<s:Group width="100%">
<s:HGroup left="40" top="40">
<s:List width="100%" dataProvider="{items}"
itemRenderer="ServicesIR"
contentBackgroundColor="#E6E7E8" borderVisible="false">
<s:layout>
<s:HorizontalLayout columnWidth="50" gap="5"/>
</s:layout>
</s:List>
.....
</Application>
El objeto items del data provider podría ser un arrayCollections de Strings por ejemplo.
ServicesIR.mxml
<?xml version="1.0" encoding="utf-8"?>
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
autoDrawBackground="true">
...
<fx:Script>
<![CDATA[
override public function set data(value:Object):void
{
var parent:MainApp = parentDocument.parentDocument; //Instance of MainApp.mxml
............................
}
]]>
</fx:Script>
..............
}
<s:ToggleButton id="tab" label="{data}" horizontalCenter="0" verticalCenter="0"/>
</s:ItemRenderer>
Utilizo la función set data para asignar para recuperar al objeto padre y acceder a lo que necesite para modificar los datos como sea necesario.
Etiquetas:
Action Script 3,
flex 4,
itemrenderer
Ubicación:
Madrid, España
miércoles, 16 de mayo de 2012
Action Script 3: Sentencias condicionales con el operador ternario.
Conditional sentencies with ternary operator
Ya sé que es un inmensa tontería y que en casi todos los lenguajes es muy similar pero no puedo evitar liarme siempre con este operador.
Así que lo pongo en el blog y no me lio más.
Código normal:
Así que lo pongo en el blog y no me lio más.
Código normal:
var color:String;
var verdura:String = 'tomate';
if (verdura == 'tomate') {
color= 'rojo';
} else {
color= '????';
}
trace(color); //muestra 'rojo'
Código con el operador ternario
var color:String; var verdura:String = 'tomate'; color = verdura == 'tomate' ? 'rojo' : '????' trace(color) //muestra 'rojo'
Suscribirse a:
Entradas (Atom)