quarta-feira, 23 de maio de 2007

Traduzindo um Objeto AS para Java com OpenAMF

A um tempo atrás, já conseguindo fazer o Flex comunicar-se
com o Java via OpenAMF, Não estava satisfeito fazendo trocas
apenas de atributos, queria fazer algo mais “genérico”
fazendo apenas a troca de Objetos.

Foi então que revirei o pai Google a procura de como resolver isso!
mas só achava com Flash e Flex 1.0 =/

Mas quando estava quase desistindo, apelei para o Ctrl-Espaço do Eclipse... ehheh
Fui tentando método por método baseado na pobre documentação do OpenAMF.

Vejam como fico:

Depois de ter gerado um Objeto no Flex como por exemplo Pessoa,
Passe por parametro o Objeto AS para a função:

AS3:
-----
public function save(objeto : Object) : void{
//chama o service Java para salvar o objeto
service.call( "src.services.Service.save", new Responder(saveResult, resultFault), objeto);
}


E No Java uma Classe Service:

Java
------
package service;

import com.carbonfive.flash.ASTranslator;
import flashgateway.io.ASObject;

public class Service {
public void executa(ASObject objeto , String classe, String acao) throws Exception{
Object ob = (Object) new ASTranslator().fromActionScript(objeto);
//O ob viro um Objeto Java, agora é só persistir!!!!! +)
}
}

E só! O segredo está ali no ASTranslator()

Agora ficou fácil não!?!

=)


Aproveitando para argumentar....
Aqueles que estão começando seus projetos usando OpenAMF, é melhor rever, e fazer uma análise,
Pois o projeto OpenAMF foi descontinuado em 2006!!!!!!!
É terrivel mais é verdade, logo, bacana procurar outros frameworks .

Um que tá vindo com tudo ae é o GraniteDataServices (GDS) assim como o RED5


Outra hora posso trazer um comparativo dentre os frameworks OpenSource

Blza?!?!

Abraço Pessoal!!

\o/

quinta-feira, 17 de maio de 2007

Ajax vs SOAP vs AMF3 vs XML

Olá Pessoal!

Estava olhando meu iGoogle, e vi um post do JamesWard onde ele fez um Censo

sobre os protocolos de Carregamento de Dados RIA!

e Advinha que sai na frente!??!?

AMF3!!!!!!!!!!!

nem se compara com os outros!!!

Faça sua própria Análise aqui:
Link

e Viva ao Flex!!

aproveitando... alguem ae ouviu falar do protocolo do M$ SilverLight?!

=)

Abraço Pessoal!!
\o/

domingo, 13 de maio de 2007

DataGrid - ToolTip com Imagem

Olá Pessoal!!

=)

Primeiro... Feliz dias das Mães!!!!

Elas merecem!! Principalmente a minha!! Te Amuh Maew!!!

+)

Mas Então, essa semana meu cliente pediu para visualizar a imagem do Produto a qual ele quisesse. Só que como eu mostraria imagem de mais de 200 produtos listado em uma DataGrid !? Aí que tive a idéia de quando Clicar na Row do produto, mostrasse sua Miniatura!

Vamos ver como ficou!?

É Muito simples..

AS3:

//Imports das lib que irei utilizar
import mx.collections.ArrayCollection;
import mx.controls.ToolTip;

//Var ToolTip

[Bindable]
public
var tp:ToolTip = new ToolTip;

//Array que contem os dados: Nome, autor, e nome da Imagem.
[Bindable]
private var listaArtes:ArrayCollection=new ArrayCollection();

//Funcao init para carregar o array
private function iniciar():void{

listaArtes = new ArrayCollection();

listaArtes.addItemAt({nome:"Homem Aranha",autor:"MARVEL",imagem:"1.jpg"},0);

listaArtes.addItemAt({nome:"Mulher Quadro",autor:"www.olhares.com",imagem:"2.jpg"},1);

listaArtes.addItemAt({nome:"Papel de Parede",autor:"www.olhares.com",imagem:"3.jpg"},2);

listaArtes.addItemAt({nome:"Casa Antiga",autor:"www.olhares.com",imagem:"4.jpg"},3);

listaArtes.addItemAt({nome:"Lampada",autor:"www.olhares.com",imagem:"5.jpg"},4);

listaArtes.addItemAt({nome:"Anjo Guardiao",autor:"www.olhares.com",imagem:"6.jpg"},5);

}

//Funcao chamada pela DGrid ao Clicar em um produto na Grid
public function showImagem(img:String):void{

//Coloco um um BG no Tooltip mapeando o dir que se encontra a img
tp.setStyle('backgroundImage',"imagens/" + img);

tp.width = 300;

tp.height = 200;

tp.x = 20;

tp.y = 250;

tp.setVisible(true);

addChild(tp);
}

//Funcao chamada pela DGrid quando tirar o mouse do produto
public function ocultImagem(event:Event):void{

tp.setVisible(false);
}

MXML:

<> id="dgArtes" dataProvider="{listaArtes}" width="620" height="203"

itemClick="showImagem(dgArtes.selectedItem.imagem)" itemRollOut="ocultImagem(event)"

horizontalCenter="0" verticalCenter="-96.5" selectedIndex="0" alpha="0.53" themeColor="#c0c0c0">

<mx:columns>

<> headerText="Nome" dataField="nome"/>

<> headerText="Autor" dataField="autor"/>


Download do Source:

Link

Aplicação Rodando:

Link

Blza Pessoal!!

Abraço!!!

\o/

quinta-feira, 3 de maio de 2007

Vencedores do Torneio Flex Developer

Olá Pessoal!!

Saiu os vencedores do Flex Developer Derby

As aplicações Flex, ficaram muito show!!

Pode-se dizer que é um preview do que vem ai pela frente!! +)

Segue o Link:

http://www.adobe.com/devnet/logged_in/flexderby_results.html


Blza?!

Recado Dado...

Abraço Pessoal!!

\o/