Java, Flex, Action Script 3, AIR, MySQL, Sql Server, Oracle, Hibernate
Flex
Flex + Json
28/04/09
Uma das maneiras mais simples de comunicação entre linguagens de programação é através de Json via Http. A Google disponibilizou uma biblioteca que “cria” um Json a partir de um objeto ActionScript.
Criei um tutorial sobre o assunto, quem tiver interesse é só acessar o link:
http://www.javacia.com.br/blog/downloads_post/JavaScript Objection Notation.pdf
Até a próxima,
Caio Oliveira.
Aplicativo Flex Internacionalizado.
04/01/09
Em vários post na web encontramos discussão sobre como fazer um aplicativo com vários idiomas, muito fazem um arquivo XML para cada idioma e faz uma classe para trabalhar com esse XML.
Bom vou mostrar para vocês uma maneira de fazer esse aplicativo usando o recurso localization do flex.
Crie uma pasta na raiz do projeto chamada ‘locale’, dentro dela crie as subpastas de internacionalização (pt_BR e en_US) e crie o arquivo ‘Application.properties’ em cada uma das pastas com o conteúdo de um arquivo ‘key=value’.
Atenção: Esses arquivos tem que esta com encodding UTF-8, isso é muito importante para reconhecer a acentuação no flex.
Arquivo Application.properties em locale/en_US:
aplicacao.nome=Test Application
Arquivo Application.properties em locale/pt_BR:
aplicacao.nome=Aplicação Teste
Nas propriedades do projeto, vá no Flex Compiler e adicione o seguinte argumento (após o argumento de locale):
-source-path=../locale/{locale}
Para melhor entendimento vamos chamar a pasta do executável do Adobe Flex Builder 3 de Flex_Home.
No Prompt de comando faça os seguintes comandos:
cd Flex_Home\sdks\3.0.0\bin
copylocale.exe en_US pt_BREsses comandos servem para gerar os arquivos necessários para adicionar um novo idioma.
Com o Windows Explorer entre em ‘Flex_Home\sdks\3.0.0\frameworks\locale‘, perceba que foi criada uma pasta com o idioma que você informou. Dentro dessa pasta existe um arquivo chamado ‘framework_rb.swc’ nesse arquivo fica as traduções do Flex.
Descompacte esse arquivo com o WinRar e substituir os arquivos .properties pelos já fornecidos pela Adobe em ArquivosAdobe.
Após as substituições compacte novamente os arquivo, com o nome ‘framework_rb.swc’.
Feito isso, entre novamente nas propriedades do projeto,vá no Flex Compiler, e altere o argumento locale para o seguinte valor:
-locale=en_US,pt_BR
<?xml version="1.0" encoding="UTF-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*"> <mx:Metadata> [ResourceBundle("Application")] //Nome do arquivo .properties </mx:Metadata> <mx:Script> <![CDATA[ [Bindable] private var Locais:Array = [ "en_US" , "pt_BR" ]; private function IniciarCombo(event:Event):void { /*A ordem nessa array é dada conforma o que foi colocado no Flex Compiler > additional compiler arguments*/ cboLocais.selectedIndex = Locais.indexOf(resourceManager.localeChain[0]); } private function AlterarLocal(event:Event):void { // Seta o Local que será usado // "en_US" ou "pt_BR " resourceManager.localeChain = [ cboLocais.selectedItem ]; } ]]> </mx:Script> <mx:Label text="{resourceManager.getString('Application', 'aplicacao.nome')}" fontSize="48" x="10" y="40"/> <mx:ComboBox id="cboLocais" dataProvider="{Locais}" initialize="IniciarCombo(event)" change="AlterarLocal(event)" x="10" y="10"/> <mx:DateChooser x="10" y="113"/> </mx:Application>
Até a próxima,
Caio Oliveira.