Breakingice flex

50
Breaking Ice Adobe Flex

Transcript of Breakingice flex

Breaking Ice – Adobe Flex

Quem sou eu?

2 de 248

• Thiago Alves dos Santos

• Bacharel em Sistema de Informação pela

PUCPR (2010)

3 de 248

• No mercado de TI desde 2008

• Já trabalhei com:

4

• Atualmente sou Líder Técnico na Sigma

Dataserv S.A.

• Iniciando um startup – inCodeWorks

5

Vamos começar?

6

Como?

7

Download

http://www.adobe.com/go/try_flashbuilder/

8

Plug-in

9

ou

Standalone

Mas antes de botar a mão na

massa!

10

Vamos a um pouco de teoria!

11

MXML

12

Magic Extensible Markup LanguageMacromedia Magic Extensible Markup Language

ActionScript

13

Meio JS ... Meio Java

14

Variáveis

var someInt:int = 3;

var someInt:int = new int(3);

15

Arrays

// literal value

var someArray:Array = [1, 2, 3];

// Array constructor

var someArray:Array = new Array(1,2,3);

16

Função

public function fechar():void

{

// fecha tela de novoContato

PopUpManager.removePopUp(this);

}

17

Classe

public class Contato

{

var nome:String = ‘José’;

}

18

Interface

public interface GenericDao

{

function insert(obj:Object):void;

}

public class SpecificDao implements GenericDao

{

function insert(obj:Object):void{}

}

Você pode ver mais em:http://help.adobe.com/pt_BR/ActionScript/3.0_ProgrammingAS3/

http://blog.flexexamples.com/

19

Chega de conversa fiada!

20

Mão na massa!

21

Vamos codar!

22

Começando pela View!

23

Vamos colocar alguma ação

nessa tela?

24

Acho que esquecemos de

uma validação!

25

26

27

Contato

@thalves

@inCodeWorks

[email protected]

[email protected]

thalves.wordpress.com

28

29

30

Continuando

31

Flex + Java

32

Instalar plug-in

33

Dynamic Web Project

34

Adicionar BlazeDS

35

web.xml

36

<!-- Http Flex Session attribute and binding listener support -->

<listener>

<listener-class>flex.messaging.HttpFlexSession</listener-class>

</listener>

<!-- MessageBroker Servlet -->

<servlet>

<servlet-name>MessageBrokerServlet</servlet-name>

<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>

<init-param>

<param-name>services.configuration.file</param-name>

<param-value>/WEB-INF/flex/services-config.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>MessageBrokerServlet</servlet-name>

<url-pattern>/messagebroker/*</url-pattern>

</servlet-mapping>

Configurações Flex

37

-services “<caminhoProjeto>\services-config”

Configurações Flex

38

-context-root <contexo-web>

Replicar entidades

39

public class Contato implements Serializable {

/**

*

*/

private static final long serialVersionUID = 3162496932110844519L;

private String nome;

private String sobrenome;

private Date dataNascimento;

private Long telefone;

private Long celular;

... Continua

RemoteClass

40

package br.com.workshop.agenda.entity

{

[RemoteClass(alias="br.semanaacademica.agenda.Contato")]

[Bindable]

public class Contato

{

public var nome:String;

public var sobrenome:String;

public var dataNascimento:Date;

public var telefone:Number;

public var celular:Number;

}

}

ServicoJava

41

package br.semanaacademica.agenda;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

public class ServicoJava {

private List<Contato> listaContatos;

public List<Contato> obterContatos() {

LOGICA DO SERVIÇO...

}

RemoteConfig.xml

42

<destination id="servicoJava">

<properties>

<source>br.semanaacademica.agenda.ServicoJava</source>

</properties>

</destination>

RemoteObject

43

<mx:RemoteObject id="servicoJava"

fault="onFault(event)" destination="servicoJava"/>

Assíncrona

44

servicoJava.addEventListener(ResultEvent.RESULT,

//No flex toda requisição é assíncrona,

//Então devo programar um função quando

//a requisição terminar de executar

function(event:ResultEvent):void

{

dataGridContato.dataProvider = event.result

as ArrayCollection;

}

);

Chamada

45

servicoJava.obterContatos();

46

47

Contato

@thalves

@inCodeWorks

[email protected]

[email protected]

thalves.wordpress.com

48

50