Java na TV Digital - Programando interatividade com JavaDTV

2.729 visualizações

Publicada em

Java na TV Digital - Programando interatividade com JavaDTV. Mini curso realizado em 10 de outubro de 2013 no SEMCOMP16 no Campus 2 da USP de São Carlos-SP.
O mini-curso vai abordar o padrão brasileiro do Sistema Brasileiro de TV Digital. O que é a interatividade na TV Digital? Mostraremos o middleware Ginga e sua arquitetura. Será apresentada a especificação JavaDTV , ambiente de desenvolvimento, ferramentas e demonstração de aplicativos. Cada participante vai programar e testar aplicações interativas.

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.729
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
108
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Java na TV Digital - Programando interatividade com JavaDTV

  1. 1. Minicurso Java na TV Digital - Programando interatividade com JavaDTV
  2. 2. Carlos Fernando Gonçalves Mestre em Engenharia de Computação pelo Instituto de Pesquisas Tecnológicas (2004) e graduação em Bacharel em Física pelo Instituto de Física de São Carlos (1994). Quinze anos de experiência profissional. Consultor no projeto CEPID do Centro de Estudos da Metrópole. Consultor e desenvolvedor, utiliza software livre e Java nos seguintes temas: TV Digital Ginga-J, Web e Mobile. Consultor Técnico da Organização Internacional UNESCO para o projeto WEBGIS - Mapas Interativos da Secretaria de Vigilância Sanitária - Ministério da Saúde (2007) DF- Brasília. Trabalhou nas empresas: EverSystems Informática, Touch Tecnologia e PROCOMP Indústria Eletônica LTDA. Tradutor e Revisor do IDE NetBeans. Fundador do Java Noroeste - Grupo de Usuários Java do Noroeste Paulista.
  3. 3. Agenda Padrões de TV Digital Middleware Ginga Ecosistema da TV Digital Montando ambiente de desenvolvendo JavaDTV /Ginga-J Desenvolvendo interatividade com JavaDTV /Ginga-J Referências
  4. 4. Padrões de TV Digital Sistema Brasileiro de Televisão Digital Decreto Nº 4.901, de 26 de novembro de 2003 Institui o Sistema Brasileiro de Televisão Digital http://www.forumsbtvd.org.br/anexos/decreto-tv-digital.pdf DECRETO Nº 5.820, DE 29 DE JUNHO DE 2006. Implantação do SBTVD-T Decreto n.º 8.061/2013, 2015 até 2018 http://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2006/Decreto/D5820.htm Novembro de 2006 Fórum SBTVD http://www.forumsbtvd.org.br/materias.asp?id=39 Início das transmissões em 2 de dezembro de 2007 http://www.dtv.org.br/informacoes-tecnicas/historia-da-tv-digital-no-brasil/
  5. 5. Padrões de TV Digital Fonte: http://forumsbtvd.org.br/acervo-online/normas-brasileiras-de-tv-digital/
  6. 6. Padrões de TV Digital ISDB-TB (Integrated Services Digital Broadcasting – Terrestrial Brazil) Outros padrões ATSC (Advanced Television System Committee) DVB (Digital Video Broadcasting) ISDB (Integrated Services Digital Broadcasting)
  7. 7. Padrões de TV Digital ISDB-TB Fonte: http://pt.wikipedia.org/wiki/Ficheiro:Digital_broadcast_standards.svg Assim, Honduras(trocou ATCS) é o terceiro país na América Central a escolher o padrão nipo-brasileiro, e o 15º no mundo. Uruguai, Argentina, Paraguai, Chile, Bolívia, Peru, Equador, Venezuela, Costa Rica, Filipinas, Botswana e Guatemala já optaram pelo ISDB-T, além de Brasil e Japão.
  8. 8. Padrões de TV Digital Resolução de TV
  9. 9. Padrões de TV Digital ISDB-TB TV Analógica e TV Digital
  10. 10. Padrões de TV Digital Canal na TV Digital A banda do canal legal no DTV é de 6MHz (igual ao do analógico PAL-M), como por exemplo, o canal 14 começa na frequência de 470MHz e vai até 476MHz. O canal é dividido em 14 segmentos de 428,57KHz, mas um segmento é descartado para a transmissão, ficando somente 13, que são numerados de 0 a 12. Portanto a banda de transmissão de um canal DTV é de 13x428,57=5,57MHz, mas para uma maior segurança é expandida para 5,7MHz. Segmento 0 que fica bem no centro, por ser de mais fácil recepção, é destinado para receptores portáteis como celular. Por ser transmissão de 1 só segmento, é conhecido como One Seg ou 1 Seg. Fonte:http://imagemesomhd.blogspot.com/2010/01/tv-digital-sbtvdisdb-tb.html
  11. 11. Padrões de TV Digital Multiprogramação vantagem do sistema, é de poder aproveitar as camadas hierárquicas, por exemplo, se uma camada estiver transmitindo um programa em SD e a segunda camada, o mesmo programa em HD, a segunda aproveita também a primeira camada que tem informações de SD para formar o HD. Um receptor móvel que só consegue receber o SD, aproveita a primeira camada e descarta a segunda. Cada camada pode transmitir um programa diferente, e acaba se tornando um canal lógico. Além da transmissão One Seg, no Full Seg é possível ter até mais 3 programas em definição padrão (SD), mas em Full HD (1920x1080) que utiliza todos os 12 segmentos, só é possível transmitir 1 programa. Fonte:http://imagemesomhd.blogspot.com/2010/01/tv-digital-sbtvdisdb-tb.html
  12. 12. Padrões de TV Digital TV Analógica e TV Digital Esse número é a relação entre Largura e Altura da tela. Às vezes é chamada de “tela de cinema” ou “tela larga”. Para ver um imagem de alta definição verdadeira (1920 pixels na horizontal e 1080 pixels/linhas na vertical) o televisor precisa ter, no mínimo, 42 polegadas (da ordem de 1.07m) de diagonal. Isso equivale a uma largura de 93cm e altura de 52cm, porque a largura/altura é 16/9.
  13. 13. Padrões de TV Digital Codificação e Compressão – Carrossel ● DSM-CC (Digital Storage Media Command and Control) – No ambiente de TV digital, é utilizado para broadcast de dados e sistemas de arquivos. • Transmissão unidirecional – o receptor não tem como requisitar os dados • Os dados são transmitidos de maneira cíclica • O receptor é capaz de “remontar” os dados conforme são recebidos • DSM-CC suporta dois tipos de carrossel ● Carrossel de dados ● Carrossel de objetos
  14. 14. Padrões de TV Digital
  15. 15. Agenda Padrões de TV Digital Middleware Ginga Ecosistema da TV Digital Montando ambiente de desenvolvendo JavaDTV /Ginga-J Desenvolvendo interatividade com JavaDTV /Ginga-J Referências
  16. 16. Middleware Ginga “O valor do televisor é percebido pelo número de conteúdos que ele tem. Hoje, o desafio está no software e não no hardware.” Sony, Carlos Goya - 2011 "Brasil é o melhor país do mundo para investir", diz presidente JW Kim da Samsung - 2011
  17. 17. Middleware Ginga O Ginga é a especificação de middleware do SBTVD, resultado da integração das propostas FlexTV [Leite 2005] e MAESTRO [Soares 2006], desenvolvidas por consórcios liderados pela UFPB e PUC-Rio no projeto SBTVD , respectivamente O Ginga integrou estas duas soluções, chamadas de Ginga-J e Ginga-NCL , tomando por base as recomendações internacionais da ITU. Desta forma, o Ginga é subdividido em dois subsistemas interligados, também chamados de Máquina de Execução (Ginga-J) e Máquina de Apresentação (Ginga-NCL)
  18. 18. Middleware Ginga MW Ginga JVM Ginga COMMON CORE Mono-media Players SMIL Transitions XHTML + CSS + ECMAScript CDC 1.1 / FP 1.1 / PBP 1.1 LUA Script FM J JavaTV 1.1 BRIDGE JavaDTV APIs br.org.sbtvd LWUIT NCL Formatter Ginga-NCL Ginga-J
  19. 19. Middleware Ginga JavaDTV Em 2008 foram verificados problemas com questões de propriedade intelectual na parte MHP (APIs HAVI e DAVIC) Fórum do SBTVD e a SUN Microsystems propuseram JavaDTV nova especificação em DEZ/2008 Pacotes da especificação JavaDTV 1.3 – extende os pacotes do JavaTV 1.1 para implementar funcionalidades específicas de TV Digital adicionais ou de menor grau de abstração. Acesse: http://forumsbtvd.org.br/acervo-online/javadtv-download/
  20. 20. Middleware Ginga Ginga-J
  21. 21. JavaTV 1.1 CDC 1.1 / FP 1.1 / PBP 1.1 UI Widget Set TV Graphics Persistent Storage Resource Management Content Security ARIB extensions Events User Settings & Prefs Network Device Tuning MPEG Section Filtering MPEG Concepts Broadcast Filesystem Application Management Media APIs Middleware Ginga Applications SBTVD Extensions
  22. 22. Agenda Padrões de TV Digital Middleware Ginga Ecosistema da TV Digital Montando ambiente de desenvolvendo JavaDTV /Ginga-J Desenvolvendo interatividade com JavaDTV /Ginga-J Referências
  23. 23. Ecosistema da TV Digital
  24. 24. Ecosistema da TV Digital
  25. 25. Ecosistema da TV Digital
  26. 26. Ecosistema da TV Digital Toshiba - TV 65WL800i3D - TV 55WL800i3D - TV 46WL800i3D Sharp TV LED AQUOS LC-60LE640B TV LED AQUOS LC-70LE640B D-Link Visiontec
  27. 27. Ecosistema da TV Digital Multi-Screen Interatividade na 2ª. Tela Sincronização com o conteúdo
  28. 28. Ecosistema da TV Digital Híbrido Broadband & Broadcast
  29. 29. Ecosistema da TV Digital Push VoD sem necessidade de conexão à Internet
  30. 30. Ecosistema da TV Digital Hotel
  31. 31. Ecosistema da TV Digital Cemig
  32. 32. Ecosistema da TV Digital TV analógica aberta
  33. 33. Ecosistema da TV Digital TV Digital aberta
  34. 34. Ecosistema da TV Digital TV Digital aberta
  35. 35. Ecosistema da TV Digital Brasil 4D - EBC (Empresa Brasil de Comunicação - TV Brasil) Projeto Brasil 4D recebe prêmios nacionais e internacionais http://www.ebc.com.br/sobre-a-ebc/sala-de-imprensa/2013/08/brasil-4d-recebe-premios-nacionais-e-internacionais
  36. 36. Ecosistema da TV Digital Ginga.BR.Labs 1) Instituto de Radiodifusão Educativa da Bahia – IRDEB (BA) 2) Fundação Televisão Rádio e Cultura do Amazonas – Funtec (AM) 3) Fundação Universidade do Tocantins – Unitins (TO) 4) Fundação Cultural Piratini - Rádio e Televisão (RS) 5) Fundação Rádio e Televisão Educativa de Uberlândia – RTU (MG) 6) Fundação Rádio e Televisão Educativa e Cultural - Fundação RTVE (GO) 7) TV Assembleia (MG) 8) Fundação Padre Anchieta (SP) 9) Televisão Universitária Unesp (SP) 10) Fundação Educativa de Rádio e Televisão Ouro Preto (MG) http://convergenciadigital.uol.com.br/cgi/cgilua.exe/sys/start.htm?infoid=34339&sid=11#.UlZhoRBaUhI
  37. 37. Ecosistema da TV Digital
  38. 38. Ecosistema da TV Digital http://www.noticiasdatv.com.br/noticia/tecnologia/cinco-anos-apos-tv-digital-80-das-casas-ainda-tem-televisor-de-tubo-557
  39. 39. Agenda Padrões de TV Digital Middleware Ginga Ecosistema da TV Digital Montando ambiente de desenvolvendo JavaDTV /Ginga-J Desenvolvendo interatividade com JavaDTV /Ginga-J Referências
  40. 40. Montando ambiente de desenvolvendo JavaDTV /Ginga-J Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  41. 41. Montando ambiente de desenvolvendo JavaDTV /Ginga-J Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  42. 42. Montando ambiente de desenvolvendo JavaDTV /Ginga-J Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  43. 43. Montando ambiente de desenvolvendo JavaDTV /Ginga-J Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  44. 44. Montando ambiente de desenvolvendo JavaDTV /Ginga-J Na caixa de email... Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  45. 45. Montando ambiente de desenvolvendo JavaDTV /Ginga-J Acionar Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  46. 46. Montando ambiente de desenvolvendo JavaDTV /Ginga-J Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  47. 47. Montando ambiente de desenvolvendo JavaDTV /Ginga-J astrobox Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  48. 48. Montando ambiente de desenvolvendo JavaDTV /Ginga-J Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  49. 49. Montando ambiente de desenvolvendo JavaDTV /Ginga-J Digitar email cadastrado: Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  50. 50. Montando ambiente de desenvolvendo JavaDTV /Ginga-J Digitar senha cadastrada: Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  51. 51. Agenda Padrões de TV Digital Middleware Ginga Ecosistema da TV Digital Montando ambiente de desenvolvendo JavaDTV /Ginga-J Desenvolvendo interatividade com JavaDTV /Ginga-J Referências
  52. 52. Desenvolvendo interatividade com JavaDTV /Ginga-J Aplicações Ginga-J podem obter acesso de forma genérica aos planos gráficos oferecidos pelo terminal de acesso, para configuração e exibição de conteúdo de acordo com um modelo de camadas na tela do dispositivo.
  53. 53. Desenvolvendo interatividade com JavaDTV /Ginga-J Planos gráficos 1. Plano[0]: Plano de texto e gráficos; 2. Plano[1]: Plano de seleção vídeo/imagem; 3. Plano[2]: Plano de imagens estáticas; 4. Plano[3]: Plano de vídeo. Plano de legenda não é acessível
  54. 54. Desenvolvendo interatividade com JavaDTV /Ginga-J Dica Desenvolver para TV Digital é ter em mente que: ● ● ● ● As aplicações tem uma área de trabalho de 1280X720 TVs e set-top-box tem por norma devem oferecer 6 MB de memória Em torno de 80% do tamanho das aplicações, são constituídas de imagens Existe um número pequeno de TVs com acesso a internet
  55. 55. Desenvolvendo interatividade com JavaDTV /Ginga-J Xlet As aplicações para TV interativa desenvolvidas em JavaDTV são chamadas de Xlets. O ciclo de vida dos Xlets é regido por quatro métodos: - initXlet():responsável por inicializar os componentes da aplicação e manipula o XletContext; - startXlet(): que é o metodo chamado para iniciar a aplicação; - pauseXlet(): chamando quando há um evento que causa uma pausa na aplicação - destroyXlet(): chamado quando a aplicação é destruída.
  56. 56. Desenvolvendo interatividade com JavaDTV /Ginga-J Xlet
  57. 57. Desenvolvendo interatividade com JavaDTV /Ginga-J Primeiro exemplo Alô Mundo
  58. 58. Desenvolvendo interatividade com JavaDTV /Ginga-J public class Exemplo_01_Xlet implements Xlet { protected XletContext xletcontext; public void initXlet(XletContext xc) throws XletStateChangeException { this.xletcontext = xc; } public void startXlet() throws XletStateChangeException { Form mainForm = new Form("Alô mundo!"); Label label = new Label(" Alô mundo!"); MainForm.addComponent(label); mainForm.show(); } public void pauseXlet() { } public void destroyXlet(boolean bln) throws XletStateChangeException { } }
  59. 59. Desenvolvendo interatividade com JavaDTV /Ginga-J Problema na acentuação?
  60. 60. Desenvolvendo interatividade com JavaDTV /Ginga-J Dicas Sempre deixar Source Level=JDK 1.3 e Enconding=UTF-8
  61. 61. Desenvolvendo interatividade com JavaDTV /Ginga-J
  62. 62. Desenvolvendo interatividade com JavaDTV /Ginga-J
  63. 63. Desenvolvendo interatividade com JavaDTV /Ginga-J
  64. 64. Desenvolvendo interatividade com JavaDTV /Ginga-J Dicas Adicionar as bibliotecas ao projeto
  65. 65. Desenvolvendo interatividade com JavaDTV /Ginga-J LWUIT Light Weight User Interface Toolkit Inspirado no LWUIT dos dispositivos móveis (JavaME/MIDP) Foi baseado no Swing Estilo Swing MVC Melhorou componentes existentes Não é compatível com o que se tem em JavaME Pacotes, classes, métodos foram adaptados a realidade da TV Digital
  66. 66. Desenvolvendo interatividade com JavaDTV /Ginga-J LWUIT Light Weight User Interface Toolkit
  67. 67. Desenvolvendo interatividade com JavaDTV /Ginga-J O componente Form possui uma Barra de Título na parte superior em que o título do formulário pode ser escrito e uma Barra de Menu na parte inferior, para os comandos e menu. O espaço entre as duas barras é para o painel conteúdo, que carrega os componentes a serem colocados no formulário. ************************** * Title * ************************** * * * * * ContentPane * * * * * ************************** Form form = new Form(); Form form = new Form (“Formulário”);
  68. 68. Desenvolvendo interatividade com JavaDTV /Ginga-J O componente Label pode exibir de imagens e textos que não podem ser selecionados e sem interação com o usuário. Possui um grande número de possibilidades alinhamento que são suportados para o posicionamento do texto e à imagem. Label lb = new Label(); Label lb = new Label ( “SEMCOMP16”); Label lb = new Label(imagem);
  69. 69. Desenvolvendo interatividade com JavaDTV /Ginga-J Gerenciadores de Layout (Layout Managers) no LWUIT tem um gerenciador de layout sofisticado para UIs. Os gerenciadores suportados são: com.sun.dtv.lwuit.layouts ● BorderLayout ● BoxLayout ● CoordinateLayout ● FlowLayout ● GridLayout ● GroupLayout ● Layout ● LayoutStyle
  70. 70. Desenvolvendo interatividade com JavaDTV /Ginga-J O visual de todos os componentes LWUIT pode ser variado através de um objeto de estilo associado. Alterar a aparência de um componente individual, você pode recuperar o objeto de estilo e métodos de chamada para fazer alterações. com.sun.dtv.lwuit.plaf Border DefaultLookAndFeel LookAndFeel Style UIManager
  71. 71. Desenvolvendo interatividade com JavaDTV /Ginga-J LWUIT inclui o conceito de um Command. Um Command é algo que o usuário pode fazer em sua aplicação. LWUIT decide como mostrar o comando na tela e como o usuário faz acontecer. Normalmente, os comandos são atribuídos aos botões virtuais de seu telefone móvel. LWUIT normalmente irá mostrar os comandos como etiquetas nos cantos inferiores da tela, o usuário pode invocar pressionando o botão correspondente. com.sun.dtv.lwuit.Command com.sun.dtv.ui.event interfaces KeyListener, UserInputEvent, UserInputEventListener classes KeyEvent, UserInputEventManager, RemoteControlEvent
  72. 72. Desenvolvendo interatividade com JavaDTV /Ginga-J Uma transição fornece uma pista útil visual para o usuário sobre a relação entre diferentes formas. LWUIT pode deslizar formas horizontalmente ou verticalmente. LWUIT inclui também uma transição gradual de uma forma para outra.
  73. 73. Desenvolvendo interatividade com JavaDTV /Ginga-J Dicas ● ● ● ● Retirar cores amarelas de textos e substituir por negrito pois o usuário confunde com hiperlink Não utilizar o ícone de navegação de páginas para direita e esquerda porque os usuários confundem com a tecla ‘play’ Manter as cores dos botões da aplicação na mesma ordem das cores dos botões do controle remoto Quando houver um texto que deve ser lido na sequência, não utilizar diferentes telas, e sim o scroll vertical
  74. 74. Desenvolvendo interatividade com JavaDTV /Ginga-J Segundo exemplo Ícone animado
  75. 75. Desenvolvendo interatividade com JavaDTV /Ginga-J
  76. 76. Desenvolvendo interatividade com JavaDTV /Ginga-J Terceiro exemplo Teclas
  77. 77. Desenvolvendo interatividade com JavaDTV /Ginga-J
  78. 78. Desenvolvendo interatividade com JavaDTV /Ginga-J Mapa de teclas Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  79. 79. Desenvolvendo interatividade com JavaDTV /Ginga-J Mapa de teclas Acesse: https://www.astrodevnet.com/AstroDevNet/home.html
  80. 80. Desenvolvendo interatividade com JavaDTV /Ginga-J Ginga Hackathon https://www.facebook.com/events/513829981993640/
  81. 81. Desenvolvendo interatividade com JavaDTV /Ginga-J Ginga Hackathon Labirinto Ginga-J Raphael Ferras Gonçalves da Silva, ex-aluno do curso de Bacharel em Ciências de Computação pelo ICMC-USP São Carlos apresentou mini palestra: Usando Canvas em games para Ginga-J Apresentação no The Developers Conference 2013 – Trilha de TV digital http://www.thedevelopersconference.com.br/tdc/2013/saopaulo/trilha-tv-digital#programacao
  82. 82. Desenvolvendo interatividade com JavaDTV /Ginga-J Dicas Games com Ginga-J : ● Sempre evitar de utilizar um loop principal da aplicação. Isto evita ter problemas de threads ou perda de sincronismo ● Sempre utilizar AWT ● Usar a fila de eventos do AWT para controlar os eventos de animação e similares necessários para o jogo.
  83. 83. Perguntas Perguntas?
  84. 84. Desenvolvendo interatividade com JavaDTV /Ginga-J Curso gratuito http://www.globalcode.com.br/treinamentos/cursos/videoaulas/java-e-tv-digital
  85. 85. Referências Parte 4: Ginga-J - Ambiente para a execução de aplicações procedurais http://www.dtv.org.br/download/pt-br/ABNTNBR15606-4_2010Ed1.pdf Parte 6: Java DTV 1.3 http://www.tvdi.inf.br/site/artigos/Normas%20ABNT/15606-6-Middleware.pdf Introdução a interatividade na TV Digital http://www.slideshare.net/mercuriocfg/tutorial-introduo-ainteratividadenatvdigitalicmcuspsaocarlos20130828 Informações sobre TV Digital interativa http://blog.globalcode.com.br/2011/10/informacoes-sobre-tv-digital-interativa.html Blog Thiago G. Vespa http://www.thiagovespa.com.br/blog/category/tv-digital/
  86. 86. Referências Ginga, Java e Interatividade na TV Digital http://blog.globalcode.com.br/2013/02/ginga-java-e-interatividade-na-tv.html Trilha TV Digital 2013 The Developers Conference –São Paulo http://www.thedevelopersconference.com.br/tdc/2013/saopaulo/trilha-tv-digital#programacao Trilha TV Digital 2012 The Developers Conference –São Paulo http://www.thedevelopersconference.com.br/tdc/2012/saopaulo/trilha-tv-digital#programacao Trilha TV Digital 2011 The Developers Conference - Goiânia http://www.thedevelopersconference.com.br/tdc/2011/goiania/trilha-tv-digital#programacao Trilha TV Digital 2011 The Developers Conference –São Paulo http://www.thedevelopersconference.com.br/tdc/2011/saopaulo/trilha-tvdigital#programacao Blog Thiago G. Vespa http://www.thiagovespa.com.br/blog/category/tv-digital/
  87. 87. Referências Yara Senger Bruno Souza Javaman Vinicius Senger Thiago G. Vespa
  88. 88. Referências Grupo de Usuários Java Noroeste Paulista 8 ANOS Fundado em 24 de outubro de 2004 http://groups.google.com/group/javanoroeste?hl=pt-BR_US Pelo site é possível se cadastrar: http://javanoroeste.com.br/javanoroeste/
  89. 89. Obrigado :) carlosfgo@gmail.com mercuriocfg@yahoo.com.br @mercuriocfg @javanoroeste www.javanoroeste.com.br

×