12
EA998 Tópicos em Engenharia de Computação MC933 Tópicos Especiais em Ciência da Computação Android: Interface com o Usuário Prof. José Mario De Martino Departamento de Engenharia de Computação e Automação Industrial Faculdade de Engenharia de Elétrica e de Computação Universidade Estadual de Campinas Sala 317A - FEEC [email protected]

CALENDAR President’s Column

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CALENDAR President’s Column

EA998 Tópicos em Engenharia de ComputaçãoMC933 Tópicos Especiais em Ciência da Computação

Android: Interface com o Usuário

Prof. José Mario De MartinoDepartamento de Engenharia de Computação e Automação Industrial

Faculdade de Engenharia de Elétrica e de ComputaçãoUniversidade Estadual de Campinas

Sala 317A - [email protected]@dca.fee.unicamp.br

Page 2: CALENDAR President’s Column

Agenda

• Arquitetura Model-View-Controller

• Tratamento de eventos:

• Botão• Botão

• Toque (touch)

• Teclado

222

2EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

2

Page 3: CALENDAR President’s Column

Arquitetura MVC

• O arcabouço de suporte à construção de interfaces gráficas com o usuário (GUI – Graphics User Interface) da plataforma Android é inspirado no padrão de projeto MVC (Modelo-Visão-Controlador; inspirado no padrão de projeto MVC (Modelo-Visão-Controlador; Model-View-Controller)

• No padrão MVC:

• O Modelo (Model) contém os dados e lógica de manipulação destes dados que definem o núcleo da aplicação. O Modelo não se preocupa como os dados são apresentados ao usuário, tampouco como e quais as ações acarretam a mudança dos dados.

• A Visão (View) cuida da apresentação para o usuário dos dados e estados

333

3EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

• A Visão (View) cuida da apresentação para o usuário dos dados e estados definidos no Modelo .

• O Controlador (Controller) é responsável por processar as entradas do usuário e traduzí-las para requisições de atualização do modelo.

Page 4: CALENDAR President’s Column

Arquitetura MVC

Usuário

ControladorControladorControladorVisãoVisãoVisão

Entrada usuário Apresenta

Sinalização Visualda ação de entrada

444

4EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

4ModeloModeloModelo

AtualizaApresentaçãoinvalidate()

Atualiza dados/estado

Page 5: CALENDAR President’s Column

Arquitetura MVC

• É importante observar que na arquitetura MVC, o Modelo não depende da Visão nem do Controlador. Esta separação permite que o Modelo seja implementado e testado independentemente de que o Modelo seja implementado e testado independentemente de forma de sua apresentação e interação com usuário.

• A separação entre Visão e Controlador, por outro lado, nem sempre é tão clara. Em particular, um widget Android é uma Visão que pode ser associada a um Controlador para tratar as entradas do usuário, sendo que a plataforma Android cuida da sinalização visual da ação do usuário.

555

5EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

Page 6: CALENDAR President’s Column

Arquitetura MVC: exercício 5

• Considere a interface do exercício 2. Como a plataforma Androidsinaliza visualmente a ação de acionamento de um botão?

666

6EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

Page 7: CALENDAR President’s Column

Arquitetura MVC: exercício 6

• Considere a interface do exercício 2. Implemente controlador associado aos botões. O botão “Clear” ao ser acionado deve apresentar o valor zero nas duas caixas de texto. O botão “Set” ao apresentar o valor zero nas duas caixas de texto. O botão “Set” ao ser acionado deve apresentar valor aleatório entre 0 e 150 em cada uma das caixas de texto.

777

7EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

Page 8: CALENDAR President’s Column

Arquitetura MVC: exercício 7

• Considere a interface do exercício 6. Troque o nome o rótulo do botão “Clear” para “Red” e do botão “Set” para “Green”.

888

8EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

Page 9: CALENDAR President’s Column

Arquitetura MVC: exercício 8

• Modifique a interface do exercício 7 colocando acima das caixas de texto uma área de apresentação de pontos.

Quando o botão “Red” é Quando o botão “Red” é acionado, um novo ponto vermelho é adicionado à área. As coordenadas (x, y) do novo ponto são apresentadas nas caixas de texto. De forma análoga, quando o botão

999

9EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

análoga, quando o botão “Green” é acionado um ponto verde é adicionado à área.

Page 10: CALENDAR President’s Column

Arquitetura MVC: exercício 9

• Rodar o exercício 8 Samsung GTI5510T.

101010

10EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

Page 11: CALENDAR President’s Column

Arquitetura MVC: exercício 10

• Modificar o aplicativo do exercício 8 para que ao quando o usuário tocar e deslizar o dedo na área dos pontos seja desenhada um sequência de pontos acompanhando o percurso do dedos. Estes sequência de pontos acompanhando o percurso do dedos. Estes pontos devem ser cianos.

111111

11EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

Page 12: CALENDAR President’s Column

Arquitetura MVC: exercício 11

• Modificar o exercício 10 para que agora, adicionalmente, sempreque o usuário teclar algo um ponto azul é apresentado. Caso a tecla seja “espaço”, o ponto deve ser magenta. Caso seja “enter”, tecla seja “espaço”, o ponto deve ser magenta. Caso seja “enter”, deve ser amarelo.

121212

12EA998 Tópicos em Eng. de Computação / MC933 Tópicos Especiais em Ciência da Computação - 1S2012 - Prof. JMario De Martino

12