Daniel Ricardo dos Santos Diogo de Campos Mauricio Oliveira Haensch. Desenvolvendo Jogos com Java ME

Tamanho: px
Começar a partir da página:

Download "Daniel Ricardo dos Santos Diogo de Campos Mauricio Oliveira Haensch. Desenvolvendo Jogos com Java ME"

Transcrição

1 Daniel Ricardo dos Santos Diogo de Campos Mauricio Oliveira Haensch Desenvolvendo Jogos com Java ME

2 Daniel Ricardo dos Santos Diogo de Campos Mauricio Oliveira Haensch Desenvolvendo Jogos com Java ME PET Computação UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA PROGRAMA DE EDUCAÇÃO TUTORIAL

3 Licença: Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil Para cada novo uso ou distribuição, você deve deixar claro para outros os termos da licença desta obra. Qualquer uma destas condições podem ser renunciadas, desde que Você obtenha permissão do autor. Nada nesta licença prejudica ou restringe os direitos morais dos autores.

4 Sumário 1 Introdução p A plataforma Java p Java Card p Java Micro Edition (ME) p Java Standard Edition (SE) p Java Enterprise Edition (EE) p. 6 2 Java ME p O que é p Aplicações p Vantagens p Principais diferenças entre Java SE e Java ME p Configurações e perfis p JCP e JSRs p Ferramentas de desenvolvimento p Sun Wireless Toolkit p IDEs p NetBeans p Eclipse p Bibliotecas Java ME p Java SE x Java ME p. 14

5 4.2 Bibliotecas disponíveis p Desenvolvendo para Dispositivos Móveis p Uso de memória p Resolução p Configurações e perfis p Desenvolvendo Jogos p A classe MIDLet p Commands p Displays e Displayables p Canvas p Sprites e Tiles p Sprites p TiledLayer p Sons p Estudo de Caso - Liga Quatro p Introdução p Estrutura do código p Commands p Eventos do menu principal p A classe TelaDoJogo p A classe Bola p PlayTone p Bibliografia p. 36

6 5 1 Introdução 1.1 A plataforma Java Java é uma tecnologia que se estende muito além da própria linguagem de programação. Trata-se, na verdade, de uma plataforma de desenvolvimento. A plataforma Java compreende um conjunto de softwares e especificações da Sun Microsystems para o desenvolvimento de aplicativos. A grande vantagem desta plataforma é a sua compatibilidade não apenas entre sistemas operacionais, mas também entre diversas arquiteturas, variando de PDAs e set-top boxes até servidores. As aplicações desenvolvidas nesta plataforma também são diversas, variando de aplicativos embarcados a jogos e aplicativos web. Devido a essa grande variedade a plataforma é dividida em quatro diferentes edições. Cada edição é composta de um pacote de softwares que permitem o desenvolvimento e a execução de programas escritos na linguagem Java. As plataformas são desenhadas não para um processador específico, mas para uma Java Virtual Machine (JVM) e um compilador com um conjunto de bibliotecas. A principal vantagem do uso da máquina virtual é aumentar a portabilidade do código. 1.2 Java Card Java Card é a edição mais limitada da plataforma Java e é destinada a smart cards ou dispositivos similares com pouquíssima memória. Seu principal foco é a segurança, com suporte ao encapsulamento de dados no aplicativo, firewall entre aplicativos e criptografia. Atualmente, encontra-se em desenvolvimento a versão 3 da plataforma.

7 6 1.3 Java Micro Edition (ME) Voltada para dispositivos com pouca capacidade de processsamento e memória limitada, principalmente dispositivos móveis. Muito usada em celulares e PDAs, estende-se também para aparelhos como set-top boxes e Blu-ray players. Apresenta algumas dificuldades no desenvolvimento devido a grande variedade de dispositivos e suas especificidades. A plataforma Java ME é detalhada no próximo capítulo. 1.4 Java Standard Edition (SE) É a edição usada para o desenvolvimento de aplicações portáveis de propósito geral. Contém o que necessário para o desenvolvimento de aplicações desktop e applets, como pacotes de interface gráfica, entrada e saída, comunicação com bancos de dados, etc. Atualmente, encontra-se na versão Java Enterprise Edition (EE) Java EE é a maior das edições de Java, compreendendo tudo o que está presente na Standard Edition além de coisas mais específicas, como o servidor de aplicações GlassFish. Voltada para aplicações que rodam no lado do servidor e pensada para tornar as aplições robustas, seguras, escaláveis e portáveis. É usada para o desenvolvimento de aplicações web e baseadas na arquitetura orientada a serviços (SOA), como web services. Atualmente, encontra-se na versão 5.

8 7 2 Java ME 2.1 O que é Java ME é uma das edições da plataforma Java e, como tal, é composta pela própria linguagem, por uma Máquina Virtual e por uma coleção de APIs. A linguagem é a mesma usada nas outras edições, portanto é familiar para qualquer pessoa que já tenha programado Java em qualquer plataforma. Para se entender Java ME, então, é necessário conhecer a Máquina Virtual e a coleção de APIs. Java ME aceita diferentes implementações de máquinas virtuais e normalmente a máquina virtual é definida pela Configuração. Além desses elementos comuns, esta edição da plataforma Java apresenta alguns elementos específicos como Profiles e Configurações, que serão estudados adiante Aplicações É usado principalmente para o desenvolvimento em sistemas móveis e embarcados, alguns exemplos de sistemas que adotam Java ME são: Celulares; PDAs; Set-top boxes; Blu-ray players Vantagens Por ter um campo de aplicação bem especificado, Java ME apresenta diversas facilidades para os desenvolvedores, tais como:

9 8 Portabilidade: Um aplicativo criado utilizando Java ME pode ser portado para diversos aparelhos, desde que sigam as mesmas especificações. Isso é muito importante no desenvolvimento para celulares, pois um mesmo aplicativo desenvolvido poderá rodar em modelos de diferentes fabricantes. Boa compatibilidade entre aparelhos: Como já foi citado acima, desde que sigam as mesmas especificações, não há grandes problemas de compatibilidade entre os aparelhos que irão rodar um aplicativo. Constante desenvolvimento: Assim como todo o resto da tecnologia Java, Java ME se encontra em constante desenvolvimento, com novas funções e capacidades sendo adicionadas a todo momento. Esse processo de desenvolvimento segue a JCP (Java Community Process), que será detalhado mais a frente. Boa documentação: A plataforma conta com uma vasta documentação online, no próprio site da Sun, além de inúmeros outros exemplos e tutoriais que podem ser encontrados em sites e fóruns. Desenvolimento integrado: Uma das principais vantagens de Java ME é o desenvolvimento integrado, proporcionado por ferramentas como o Wireless Toolkit (WTK) e IDEs como o NetBeans. 2.2 Principais diferenças entre Java SE e Java ME As principais diferenças entre Java SE e Java ME são descritas a seguir: Máquina Virtual: As máquinas virtuais utilizadas em Java ME são desenhadas para serem mais compactas e eficientes que a máquina virtual utilizada em Java SE, por isso alguns recursos são perdidos. Números de ponto flutuante: O suporte a ponto flutuante só foi adicionado na versão 1.1 do CLDC, por isso ao desenvolver aplicações para dispositivos mais antigos é possível que o desenvolvedor não encontre suporte para esta representação numérica. Reflexão: O pacote java.lang.reflect só está presente no CDC. Por isso não é possível utilizar reflexão em dispositivos de menor capacidade. APIs de alto nível (Swing e AWT): Algumas APIs de mais alto nível, como as utilizadas para interface gráfica não estão presentes em Java ME.

10 9 Acesso ao sistema de arquivos: Para se ter acesso ao sistema de arquivos é necessário utilizar o PDA Profile, ou uma implementação específica de um fabricante. Grupos de threads: O suporte a grupos de threads, threads que podem ser manipuladas em conjunto, também só é provido pelo CDC. A figura abaixo mostra uma visão geral dos componentes de Java ME e como eles se relacionam as outras tecnologias Java: 2.3 Configurações e perfis As configurações (Configurations) e perfis (Profiles) representam as configurações e APIs mínimas disponíveis em um dispositivo móvel. Cada aplicativo desenvolvido necessita de uma configuração mínima para ser rodado, e a garantia de que o dispositivo alvo terá essa configuração é fornecida pelo sistema de Configurations e Profiles. As principais Configurations são o CDC e o CLDC e o principal Profile é o MIDP, que são explicados a seguir. O MIDP é a definição de uma arquitetura, e define várias APIs que devem estar disponíveis em uma plataforma para promover um ambiente de desenvolvimento para as suas MIDlets. A diferença mais importante entre o MIDP 1.0 e o MIDP 2.0 é a introdução de uma API para jogos,

11 10 que facilita muito a criação deste tipo de aplicativo. A maioria dos aplicativos desenvolvidos para dispositivos móveis são capazes de rodar em plataformas MIDP 1.0, que devem ter as seguintes características, entre outras: Tamanho da tela mínimo de 96x54pixels. Input através de One handed keyboard ou Two handed keyboard ou Touch Screen. 128Kbytes de memória para os componentes MIDP. 8Kbytes de memória para dados das aplicações. 32Kbytes de memória dinâmica. O MIDP 1.0 é baseado em aparelhos que seguem a configuração CLDC, ou seja, os aparelhos compatíveis com MIDP também o serão com CLDC. Dispositivos CLDC (Connected Limited Device Configuration) são os aparelhos mais simples, que possuem uma interface menor e pouca memória e velocidade de processamento. Devem ter no mínimo as seguintes características: 128Kb de memória para rodar a máquina virtual. 32Kb de memória dinâmica. Comunicação em rede com baixa largura de banda. Baixa potência (para diminuir o gasto de energia). Dispositivos CDC (Connected Device Configuration) são aparelhos mais potentes que os CLDC e devem ter pelo menos as seguintes características: 512Kb de memória para executar a máquina virtual. 256Kb de memória dinâmica. Capacidade para comunicação em rede com alta largura de banda. Suporte à persistência.

12 JCP e JSRs O Java Community Process (JCP) é um processo formalizado para que várias partes interessadas colaborem no desenvolvimento de especificações e futuras versões da plataforma Java. Entre os membros da JCP podemos encontrar operadoras de telefonia como a NTT Do- CoMo, desenvolvedores de dispositivos móveis como a Nokia, a Sony Ericsson e a Motorola, outras empresas e até mesmo pessoas físicas. Os documentos descrevendo as especificações e tecnologias propostas são chamados Java Specification Request (JSR). Esses documentos são publicamente revisados até que um JSR se torne final e seja votado pelo Comitê Executivo da JCP. Um JSR final provê uma implementação de referência, na forma de código fonte e um Technology Compatibility Kit para verificar a especificação da API. O próprio JCP é descrito por um JSR, o JSR 215 de Os JSRs são especialmente importantes em Java ME, por causa do número de recursos novos e da velocidade com que mudam em dispositivos móveis. Alguns exemplos de JSRs em Java ME: JSR 30: J2ME CLDC 1.0 JSR 37: MIDP 1.1 JSR 68: J2ME Platform Specification JSR 82: Bluetooth JSR 118: MIDP 2.0 JSR 133: Java Game Profile JSR 139: CLDC 1.1 JSR 184: Mobile 3D Graphics API for J2ME

13 12 3 Ferramentas de desenvolvimento 3.1 Sun Wireless Toolkit O Wireless Toolkit, ou WTK, é uma ferramenta de auxílio ao desenvolvimento de aplicações em Java ME (CLDC e MIDP). O WTK possui exemplos, documentação, funções de otimização e um emulador para dispositivos móveis. Há algumas IDEs (Integrated Development Enviroment, ou ambiente de desenvolvimento) que já vêm com o Sun Wireless ToolKit integrado, outras possuem plugins para integração e também é possível usar apenas o WTK para desenvolver suas aplicações. 3.2 IDEs Duas IDEs já bem conhecidas para desenvolvimento em Java (e também em outras linguagens de programação) são o Eclipse e o NetBeans. Ambos os ambientes suportam o desenvolvimento em Java ME e serão descritos com um pouco mais de características a seguir NetBeans O ambiente de desenvolvimento NetBeans se iniciou como um projeto de dois estudantes, e posteriormente foi comprado pela Sun Microsystems. Por aproximadamente um ano, a empresa manteve o ambiente como software proprietário, mas após esse período o código foi aberto e a partir disso foram surgindo muitas melhoras no ambiente em si e diversos plugins foram criados. Entre esses avanços, surgiu o NetBeans Mobility Pack, que é uma extensão da IDE para desenvolvimento com Java ME. O NetBeans Mobility Pack já vem integrado com o emulador da Sun (WTK), além de suportar outros emuladores. Essa extensão também tem algumas ferramentas que auxiliam no desenvolvimento para dispositivos móveis, como algumas classes que podem ser utilizadas nas

14 13 suas aplicações fora as padrões da biblioteca Java ME. Um exemplo disso é a SplashScreen, que estende a classe Canvas do Java ME e pode ser bem útil para as aplicações desenvolvidas. O Mobility Pack também possui o Game Builder, que auxilia o desenvolvimento de jogos. Através dessa ferramenta, fica mais fácil criar Sprites e Tiles para seu jogo, e o Game Builder também permite a construção de cenas (combinações de objetos estáticos e dinâmicos) de uma maneira mais simples e rápida, ajudando na criação do seu jogo. Além de todas as vantagens do ambiente para o desenvolvimento de aplicações com JavaME, é um ambiente gratuito e com boa documentação, além de um forte apoio da comunidade Eclipse Existem plugins para a IDE Eclipse para desenvolvimento com Java ME. A grande vantagem de se desenvolver com esse ambiente são todas as facilidades do Eclipse, que é bem poderoso e versátil para geração de software em Java. Um dos plugins existentes para desenvolvimento com JavaME no ambiente Eclipse é o chamado EclipseME. Este plugin é um pouco antigo e só funciona com algumas versões também antigas da IDE. Porém, existem diversos outros plugins que podem ser utilizados para desenvolvimento de aplicações para a plataforma ME do Java. Esses plugins podem ser encontrados na própria página da IDE Eclipse, na seção de plugins, mas vários deles são pagos.

15 14 4 Bibliotecas Java ME 4.1 Java SE x Java ME O Java Micro Edition possui apenas um subconjunto dos componentes da Standard Edition, com uma máquina virtual e algumas APIs mais limitadas. As APIs presentes no Java ME são definidas no JCP (Java Community Process). A limitação de memória dos dispositivos que rodam Java ME acabou resultando na retirada de algumas das bibliotecas presentes no Java Standard Edition, para manter a plataforma pequena e adequada ao seu objetivo. Porém, o Java Micro Edition não possui apenas uma especificação. Dependendo da configuração e perfil escolhidos, você pode utilizar diferentes APIs para desenvolver sua aplicação. Com a evolução do poder de processamento e capacidade de memória dos dispositivos, surgem novas funcionalidades mais complexas através dos JSRs. Como exemplo disso, podemos citar a ausência de variáveis do tipo ponto flutuante (como o double) em versões mais antigas de configurações e perfis do Java ME. Devido à essa diferença entre as duas edições, nem toda aplicação desenvolvida em Java SE funcionará num dispositivo que roda Java ME. 4.2 Bibliotecas disponíveis Como dito anteriormente, as APIs disponíveis para desenvolver a sua aplicação resultam da combinação de configuração e perfil adotados pelo programador. Utilizando como exemplo a versão 1.1 do CLDC (Connected Limited Device Configuration), os pacotes presentes para o desenvolvimento da sua aplicação são: java.io java.lang java.lang.ref java.util

16 15 javax.microedition.io Outra diferença de bibliotecas entre a Standard Edition e a Micro Edition é em relação à interface das aplicações. O SWT e Swing da edição padrão de Java não se encontram na versão ME. A Micro Edition conta com um novo pacote para este fim, chamado java.microedition.lcdui, que pode ser encontrado em qualquer versão do MIDP. A versão 2.0 do MIDP contém os seguintes pacotes: java.io java.lang java.util javax.microedition.io javax.microedition.lcdui javax.microedition.lcdui.game javax.microedition.media javax.microedition.media.control javax.microedition.midlet javax.microedition.pki javax.microedition.rms Como podemos notar, existe uma série de pacotes exclusivos do JavaME (os iniciados com javax.microedition). Assim, com a presença de alguns pacotes exclusivos, também pode-se afirmar que nem toda aplicação escrita em Java ME funcionará na plataforma Java SE.

17 16 5 Desenvolvendo para Dispositivos Móveis 5.1 Uso de memória Os dispositivos para os quais se desenvolve em Java ME, em geral, possuem pouca memória, sendo isso um fator de risco para o desenvolvimento de aplicações desse tipo, juntamente com a capacidade de processamento. Para evitar isso, deve-se ter um cuidado maior para essa classe de software. A utilização de estruturas de dados e tipos de dados mais simples é um bom começo para reduzir o uso de memória. Outra saída é reduzir o número de objetos criados, ou reduzir o tamanho dos objetos que são utilizados na aplicação. As imagens utilizadas também são uma grande fonte de Out of Memory Error, a exceção que ocorre ao se utilizar memória em excesso. Se mesmo com esses cuidados ainda existem problemas com memória, você pode usar um profiler para auxiliar a encontrar usos desnecessários ou ineficientes de memória. Um Profiler é uma ferramenta que ajuda a encontrar bottlenecks da sua aplicação, achando memory leaks e rastreando a vida dos objetos. Com essas informações, é mais fácil encontrar problemas na implementação que ocasionam os erros de uso de memória da sua aplicação. 5.2 Resolução Os diferentes dispositivos que suportam aplicações em Java ME possuem resoluções de tela diferentes. Assim, na hora de desenvolver esse tipo de software, é preciso ter em mente alguma resolução um pouco mais específica para a qual será desenvolvida a aplicação. É muito mais fácil desenvolver para uma resolução específica do que tentar fazer um software mais geral que rode em várias resoluções diferentes. Normalmente são lançadas algumas versões do software, cada uma para uma resolução di-

18 17 ferente. Isso também ajuda na questão de capacidade do dispositivo. Geralmente dispositivos com uma mesma resolução da tela possuem uma capacidade de processamento e memória parecidos, facilitando com que uma aplicação funcione em uma quantidade maior de aparelhos móveis ao ser desenvolvida especificamente para um conjunto de dispositivos similares. 5.3 Configurações e perfis A escolha da configuração e sua versão, assim como a versão do perfil adotado pelo programador, deverá levar em conta o dispositivo para o qual se está desenvolvendo a aplicação, assim como as funcionalidades da aplicação sendo desenvolvida. Essa escolha acaba definindo em que tipos de dispositivos a sua aplicação irá rodar. Por esse motivo, é fundamental que se verifique as configurações e perfis suportados pelo dispositivo de destino da sua aplicação.

19 18 6 Desenvolvendo Jogos 6.1 A classe MIDLet A classe MIDlet corresponde às aplicações do MIDP, e deve ser estendida para que o software que gerencia as aplicações do dispositivo consiga controlar e modificar o estado das aplicações (rodando ou pausada, por exemplo). A classe principal de sua aplicações deve estender a esta classe e implementar os métodos utilizados para criar, começar, pausar e destruir a aplicação. A MIDLet funciona como uma interface entre o gerenciador de aplicações e a sua aplicação. Essa comunicação funciona através de sinais enviados entre o software gerenciador do dispositivo e a aplicação. Para começar a sua aplicação, a classe MIDlet possui o método startapp, que faz com que o estado atual se torne Active, enviando um sinal para o software gerenciador de aplicações. Caso alguma exceção ocorra durante a execução desse método, a aplicação é destruída automaticamente e o método destroyapp é chamado. A aplicação também pode ser pausada com o pauseapp, entrando no estado Paused. Nesse estado, o MIDlet deve liberar todos os recursos alocados. Além dos métodos que enviam um sinal ao MIDlet para a mudança de estado, há também métodos da classe que enviam um sinal ao gerenciador de aplicações para informar da mudança de estado da sua aplicação, como o notifydestroyed e notifypaused. Ao utilizar o notifydestroyed, por exemplo, o software gerenciador não irá chamar o destroyapp, mas o próprio MI- Dlet deve ter realizado as mesmas operações que o método de destruição, como a liberação de recursos. Através da combinação desses métodos da classe MIDlet monta-se o ciclo de vida de sua aplicação. É importante manter correta a comunicação entre a aplicação e o software gerenciador de aplicações, estando sempre atento à questão de liberação de recursos e troca de sinais para mudança de estado.

20 Commands Os commands do Java ME são usados para gerar e tratar eventos. Por exemplo, um comando pode ser associado a um botão, ou imagem, de modo que, quando este for selecionado, ou clicado, o evento será disparado. Um command guarda a informação semântica de uma ação, como pode ser visto pelos tipos de comandos existentes, mostrados mais abaixo. Desse modo, ele é responsável apenas pelo significado, e não à ação propriamente dita. A ação fica como responsabilidade da implementação de um CommandListener associado à tela em o Command se encontra. Um comando deve ser criado da seguinte maneira: Command(String shortlabel, String longlabel, int commandtype, int priority) Onde shortlabel é o nome abreviado do comando, longlabel é o nome completo do comando e commandtype é o tipo do comando. Há também um outro construtor para objetos da classe Command, com a ausência do parâmetro longlabel. Os tipos possíveis do commandtype são os seguintes: OK ITEM SCREEN HELP BACK CANCEL EXIT STOP A prioridade de um comando só é importante se algum objeto disparar mais de um evento de uma vez, neste caso, somente o comando de maior prioridade é avaliado. Estes comandos devem então ser tratados por uma classe que implementa a interface CommandListener. Nesta classe será definido o método commandaction que vai decidir que ação deve ser tomada quando cada evento é disparado.

21 20 Exemplos de implementações de commands e CommandListeners podem ser encontrados no final desta apostila, na seção Estudo de Caso - Liga Quatro ou neste site: wikibooks.org/wiki/j2me/li%c3%a7%c3%b5es/commandlistener 6.3 Displays e Displayables O Display é único por MIDlet e é o responsável por funções relacionadas à tela do dispositivo. Para obter uma referência ao Display, a aplicação deve utilizar o método getdisplay. Através dessa classe, é possível chamar métodos para obter algumas informações importantes para a sua aplicação, como o número de cores do aparelho, ou até mesmo se ele suporta cores. A classe Display também possui métodos para controlar funções do dispositivo, como vibrar, através do método vibrate, e um efeito de luz do aparelho, com o método flashbacklight. Um objeto só possui a capacidade de ser inserido no Display ao estender a classe Displayable. Porém, um Displayable apenas tem capacidade para ter comandos, listeners, títulos e tickers associados a ele. Tudo que é mostrado e a sua interação com o usuário é definida através de subclasse, como é o exemplo do Canvas. A utilização do Displayable é feita com os métodos setcurrent e getcurrent da classe Display, que troca e retorna o objeto do tipo Displayable atualmente na tela, respectivamente. Caso não seja definido nas subclasses do Displayable, a configuração inicial do seu objeto será: Não visível no Display; Título null; Nenhum ticker associado ao Displayable em questão; Nenhum command existente; Nenhum listener para comandos. 6.4 Canvas A classe Canvas é uma subclasse de Displayable, e é utilizada para objetos da sua aplicação que precisam fazer alterações gráficas na tela, ou receber eventos de teclas pressionadas no dispositivo. Em geral, os jogos utilizam muito essa classe, para poder interagir com o usuário tanto na recepção de estímulos quanto na apresentação dos resultados desses estímulos.

22 21 Esta classe é responsável por tratar eventos de entrada, como teclas pressionadas, soltas ou mantidas pressionadas (keypressed, keyreleased e keyrepeated, respectivamente) e também eventos com um pointer de um PDA (similares aos de tecla). É possível verificar qual das teclas foi pressionadas com o método getkeycode, mas em Java ME existe um artifício que é recomendado para os desenvolvedores de jogos, que é o sistema de Game Actions. Os Game Actions são definidos para aplicações portáveis que utilizam as teclas de setas de um dispositivo e eventos relacionados a jogos. O MIDP provê os seguintes Game Actions: UP, DOWN, LEFT, RIGHT, FIRE, GAME A, GAME B, GAME C e GAME D. Cada Game Action pode estar a associado a mais de um Key Code, porém cada tecla só pode estar associada à um Game Action. A aplicação pode traduzir um Key Code para um Game Action através do método getgameaction e fazer o oposto através de getkeycode. Apesar de vários Key Codes poderem estar associados ao mesmo Game Action, apenas um deles é retornado com este método. Outra função do Canvas é o controle gráfico do que é exibido. Isso é feito através do setfullscreenmode, que tanto coloca quanto tira do modo de exibição em tela cheia, e o método repaint, que renderiza o Canvas por completo ou apenas uma região dele, artíficio muito útil para reduzir o tempo gasto com processamento para repintar uma área sem alterações. 6.5 Sprites e Tiles Entre as bibliotecas do Java ME, existem as classes Sprite e TiledLayer, que são utilizadas para fazer os objetos animados e o fundo do seu jogo, respectivamente. Um Sprite, por sua definição, é uma imagem ou animação em duas ou três dimensões que será utilizada para representar um objeto, e muitas vezes são usados para detectar colisões ou fazer algum tipo de interação do jogo. Já os Tiles são usados para representar o fundo da tela, usualmente uma paisagem, um tabuleiro ou alguma cena de um jogo Sprites Para a classe Sprite, um arquivo de imagem é dividido em vários frames de tamanho igual, e você pode criar livremente uma sequência dos frames para gerar sua animação. Para animar sua sequência, são usados métodos como o nextframe, setframe e prevframe. Com esta classe do Java ME também é possível definir a área de colisão de um sprite, assim como verificar se houve colisão entre dois sprites, entre um sprite e um Tile ou até mesmo entre um sprite e uma imagem, utilizando métodos como definecollisionrectangle e collideswith.

23 22 Os Sprites em Java ME são produzidos a partir de uma única imagem com todos os frames que serão utilizados para renderizar a animação. É possível fazer apenas um frame, mas nos demais casos a imagem fonte é dividida igualmente em frames de uma determinada largura e altura. A sequência da animação é criada através de uma Frame Sequence, que nada mais é do que um array com os índices dos frames gerados. Um objeto do tipo Sprite pode ter um pixel de referência. Esse pixel é definido por padrão como a posição (0,0) do sprite, podendo ser redefinida para qualquer outra posição, até mesmo fora dos limites do sprite. Esse pixel existe para permitir algumas operações que são realizadas baseadas em algum referencial, como transformações de rotação e espelhamento do sprite. Segue abaixo um exemplo de sprite com um pixel de referência influenciando na rotação. Figura 6.1: Imagens retiradas de: microedition/lcdui/game/sprite.html TiledLayer Uma TiledLayer se trata de uma imagem composta de uma grade de células, onde cada célula é preenchida com uma imagem estática chamada tile. Essa composição de imagens menores permite economia de espaço, e é uma técnica muito usada em diversos jogos de duas dimensões. Cada posição na grade da TiledLayer recebe um indíce, ao qual é associado um tile. Cada um desses tiles é considerado estático e fica ligado à imagem que ele representa. Existe também um animated tile, que é um tile virtual associado dinamicamente à um estático. Com os tiles animados, ao se utilizar o mesmo animated tile em diversas células da grade, é possível mudálas ao mesmo tempo apenas modificando o tile estático ao qual eles estão associados. A grade da TiledLayer possui um número de células de mesmo tamanho distribuídas por

24 23 linhas e colunas, definidas na criação do objeto. As células da grade não podem receber mais de um tile por vez, mas várias células podem receber o mesmo tile. Para mudar o conteúdo de uma das células, podem ser utilizados os métodos setcell e fillcells. 6.6 Sons O JavaME possui uma API responsável por funcionalidades multimídia, como gravação de áudio e vídeo, além dos controle de sons. A Mobile Media API, ou MMAPI, funciona basicamente através das classes Manager, Player e os controladores VolumeControl e ToneControl. A classe Manager é utilizada para criar os Players. Isso pode ser feito através do método createplayer, onde você passa como parâmetros um InputStream do arquivo de som que será tocado e o tipo (wave, midi, mp3, etc). Assim, você obtém um Player para tocar o som/música desejada e deverá controlar esse novo objeto para obter o efeito desejado. Alguns exemplos de formatos e as Strings que devem ser passados como parâmetro para o createplayer: Wave - audio/x-wav AU - audio/basic MP3 - audio/mpeg Midi - audio/midi Tone - audio/x-tone-seq O Player que foi obtido pode ser utilizado de uma forma simples, apenas chamando o método start para que ele comece e pare ao chegar ao fim da mídia especificada. InputStream stream = getclass().getresourceasstream(sound_file); Player p = Manager.createPlayer(stream, format); p.start(); O Player permite uma maior variedade de ações, com a combinação dos métodos da classe e o seu sistema de estados. Os estados da classe Player são: Unrealized, Realized, Started, Closed e Prefetched. A imagem abaixo mostra como são feitas as transições entre os estados através dos métodos mostrados nas flechas presentes na figura.

25 24 O estado Unrealized indica que o Player não possui nem informações nem recursos necessários para funcionar. Realized indica que apenas os recursos não foram adquiridos ainda. O estado Prefetched significa que todos os recursos já foram adquiridos. Já o estado Closed mostra que o Player está fechado e, por fim, Started é o estado de um Player que já foi iniciado. Além dos estados e dos métodos para se trocar entre eles, a classe Player tem também métodos para descobrir a duração da mídia a ela atribuída, fixar um número de repetições para a mídia e descobrir o estado atual, entre outros (getduration, setloopcount e getstate, respectivamente). A Mobile Media API também possui o Control, cujos objetos podem ser utilizados para controlar algumas funções das mídias. Por exemplo, o Player suporta um VolumeControl, que pode ser utilizado para controlar o volume do aúdio desse Player. Existe também o ToneControl, que é responsável por manipular sequências de tons monotônicos, uma outra forma de produzir sons para a sua aplicação. A classe Manager ainda possui o método playtone, que é uma maneira bem mais simples de se colocar sons no seu jogo. Este método recebe como parâmetros a nota, a duração e o volume, e produz um tom monotônico como resultado. Este tipo de som pode ser útil em diversos tipos de jogos ou aplicações, que não necessitam de algo mais complexo do que pequenos tons para os efeitos sonoros. Há apenas o risco de esse tipo de solução ocupar muitos recursos da CPU,

26 que acontece apenas em casos de dispositivos que não possuem suporte para geração de tons. 25

27 26 7 Estudo de Caso - Liga Quatro 7.1 Introdução Nesta seção vamos falar um pouco sobre o jogo que nós escolhemos para implementar na plataforma Java ME, o Liga Quatro. O jogo, também conhecido em inglês como Four in a Row, Four in a Line, ou pelo nome registrado Connect 4, é um jogo simples de tabuleiro para dois jogadores, que jogam em turnos alternados colocando suas fichas em colunas com o objetivo de ser o primeiro a conectar quatro fichas, seja na vertical, na horizontal ou em qualquer diagonal. Cada jogador escolhe uma coluna por turno e sua ficha é depositada no primeiro espaço livre daquela coluna. Este jogo foi escolhido por dois motivos principais: a possibilidade de se comparar a implementação do jogo em Java ME e Java SE, ampliando o aprendizado da tecnologia em estudo, e a interface simples. A possibilidade de comparação de implementações se deu porque os bolsistas envolvidos já estavam desenvolvendo o jogo em Java SE para a disciplina de Estruturas de Dados. Essa comparação permitiu uma análise detalhada das diferença entre as duas tecnologias e as dificuldades de se portar o código para uma plataforma móvel. Uma das maiores dificuldades foi modificar alguns trechos para se adaptar à baixa capacidade de processamento e de memória dos dispositivos móveis. 7.2 Estrutura do código Commands Aqui estão declarados os atributos da classe MidletL4 do tipo Command. O construtor do Command recebe como primeiro parâmetro o texto que será mostrado ao usuário para representar o comando. Outro parâmetro é o tipo de comando, que pertence a um Enum (BACK, EXIT,

28 27 HELP, OK, CANCEL, SCREEN, STOP, ITEM). O terceiro parâmetro corresponde à prioridade do comando com relação aos outros comandos da mesma tela, sendo o menor número a maior prioridade. Neste caso, como todos têm a mesma prioridade, os comandos irão aparecer na ordem em que são adicionados. Com prioridades diferentes, os comandos ficam listados por ordem de maior prioridade para menor, para facilitar o acesso do usuário aos comandos mais importantes. private Command botaoirparamenu = new Command("Voltar", Command.BACK, 0); private Command botaook = new Command("OK", Command.OK, 0); private Command botaosairdojogo = new Command("Sair", Command.EXIT, 0); A nossa classe MidletL4 implementa a interface CommandListener e precisamos implementar o método commandaction. Assim, ele recebe um comando e a tela (Displayable) em que o comando foi executado. No código demonstrado, fazemos comparações para saber em qual tela o jogo se encontra atualmente. Há algumas telas em que só existe uma ação possível, como por exemplo as telas de Splash. Desse modo, não é preciso saber qual comando foi executado, já que obrigatoriamente deveremos passar para a tela seguinte. Sempre que o comando botaosairdojogo for executado, a ação é fechar o aplicativo, não importando em qual tela o jogo se encontra atualmente. Já com o comando botaoirparamenu, podemos notar que existe uma condição que verifica se o usuário está no meio do jogo. Caso isso seja verdade, o jogo fica pausado e a tela de menu recebe um novo botão Continuar Jogo. /** * Recebe os eventos que ocorreram, e a tela em qual ocorreu e * realiza a aç~ao correspondente. * comando * O evento recebido. tela * A tela na qual o evento ocorreu.

29 28 */ public void commandaction(command comando, Displayable tela) { if (tela == telasplashl4) { trocartela(gettelasplashpet()); } else if (tela == telasplashpet) { trocartela(gettelamenu()); } if (tela == telaopcoes) { setaropcoes(); trocartela(gettelamenu()); } else if (comando == botaosairdojogo) { fecharmidlet(); } else if (tela == telavitoria tela == teladerrota tela == telaempate) { trocartela(telamenu); } else if (comando == botaoirparamenu) { if (Controlador.getInstance().jogoNaoAcabou() && tela == telajogo) { pausado = true; telamenu.insert(0, getbotaodecontinuarjogo()); } trocartela(telamenu); } } As trocas de tela são feitas utilizando o método abaixo: /** * Troca a tela atualmente exibida no celular. * proximatela

30 29 * Tela a ser exibida. */ public void trocartela(displayable proximatela) { display = getdisplay(); display.setcurrent(proximatela); } Eventos do menu principal Os comandos executados na tela principal do jogo são tratados de forma um pouco diferente. Os comandos foram associados à botões da telamenu. Assim, toda vez que um botão é pressionado, emitindo um evento, o comando é disparado e tratado por um ItemCommandListener. /** * Cria um Listener para comandos nos itens do menu principal do jogo. */ private ItemCommandListener listenerdeitens = new ItemCommandListener() { public void commandaction(command comando, Item item) { if (item == botaodenovojogo) { Controlador.getInstance().resetar(); comecarnovojogo(); if (pausado == true) { pausado = false; telamenu.delete(0); //Remove a opcao de continuar o jogo } } else if (item == botaodecontinuarjogo) { trocartela(telajogo); pausado = false; telamenu.delete(0); } else if (item == botaodeopcoes) {

31 30 trocartela(gettelaopcoes()); } else if (item == botaodeajuda) { trocartela(gettelaajuda()); } else if (item == botaodesobre) { trocartela(gettelasobre()); }; } } else if (item == botaodesair) { } fecharmidlet(); Como cada Item (botão) possui somente um comando, o método só precisa avaliar qual foi o item pressionado. Abaixo, temos um exemplo de associação de um comando a um botão. Em seguida, associamos ao botão o ItemCommandListener mostrado no código acima. botaodenovojogo.addcommand(botaook); botaodenovojogo.setitemcommandlistener(listenerdeitens); A classe TelaDoJogo A classe TelaDoJogo estende GameCanvas e é responsável pela tela principal do jogo, incluindo detecção das teclas pressionadas, atualização do que é mostrado na tela e efeitos sonoros. O método abaixo é responsável pela atualização da tela. Os parâmetros recebidos servem para delimitar a região que será redesenhada na tela, para questões de minimização de esforço em certos momentos da execução do programa. O método flushgraphics chamado é o que atualiza na tela aquilo que estava no buffer dentro de área desejada.

32 31 /** * Atualiza uma parte da tela do jogo. x * Posiç~ao horizontal em pixels onde começa a área a ser atualizada. y * Posiç~ao vertical em pixels onde começa a área a ser atualizada. largura * Largura em pixels da área a ser atualizada. altura * Altura em pixels da área a ser atualizada. */ public void refresh(int x, int y, int largura, int altura) { layer.paint(g, 0, 0); flushgraphics(x, y, largura, altura); } Para a detecção de estímulos do usuário, o método keypressed é definido recebendo o código da tecla pressionada como parâmetro. O que fazemos é detectar se o que foi passado corresponde às teclas 4, 6 ou 5, que movimentam a ficha do jogador para esquerda, para a direita ou confirma a jogada, respectivamente. Há outro trecho condicional que verifica se o código da tecla pressionada corresponde à algum gameaction. O gameaction é um mapeamento das teclas especiais de movimentação um aparelho celular específico para jogos. Assim, com os dois tipos de verificação de teclas apresentados abaixo, é possível utilizar tanto as teclas numéricas quanto as direcionais para se jogar. /** * Detecta as teclas que s~ao pressionadas durante o jogo. keycode * Código da tecla pressionada. */ public void keypressed(int keycode) { switch (keycode) { case KEY_NUM4:

33 32 } controle.clicouparaesquerda(); return; case KEY_NUM6: controle.clicouparadireita(); return; case KEY_NUM5: controle.clicouprabaixo(); controle.animando = true; return; } switch (getgameaction(keycode)) { case LEFT: controle.clicouparaesquerda(); return; case RIGHT: controle.clicouparadireita(); return; case DOWN: controle.clicouprabaixo(); controle.animando = true; return; case FIRE: controle.clicouprabaixo(); controle.animando = true; return; } Para fazer a tela do jogo, são utilizadas várias camadas. Cada camada adicionada é posicionada num array, e a camada mais próxima do usuário é a situada na primeira posição, e a da última posição é a que fica ao fundo de todas. Desse modo, o método append insere a camada adicionada no final do array e portanto mais ao fundo. Demonstrando o sistema de camadas da classe GameCanvas, no método abaixo adicionamos primeiramente a grade transparente do

34 33 tabuleiro, que é na verdade a camada que fica acima de todas na tela, em seguida as duas bolas usadas para a animação das jogadas e por último o fundo com o tabuleiro totalmente pintado. Assim, as bolas ficam na frente do fundo e por trás das grades, o que cria o efeito das bolas deslizando para dentro do tabuleiro. /** * Junta as camadas com imagens do fundo, sprites e grade * transparente do tabuleiro da tela do jogo. */ private void juntarcamadasdeimagens() { layer.append(tabuleiro.gettabuleirotransparente()); layer.append(boladeescolha.getsprite()); layer.append(bolaauxiliardeanimacao.getsprite()); layer.append(tabuleiro.getfundodotabuleiro()); flushgraphics(); } A classe Bola Os objetos da classe Bola possuem os sprites das fichas utilizadas no jogo, assim como métodos para operar sobre esses sprites. Este campo é o próprio sprite, que vai ser utilizado nos métodos da classe. private Sprite bola; Segue abaixo a sequência que representa a ordem dos frames do sprite e serve para definir a animação da bola. Os números dos frames são definidos durante a criação do sprite. Neste caso, ao executar a sequência (com o método bola.nextframe()), a bola parece estar caindo. private int[] sequenciadesaida = {0, 1, 2, 4}; bola.setframesequence(sequenciadesaida);

35 34 Para criar o sprite, passamos como parâmetro a imagem contendo os frames desejados, e também a dimensão do sprite (neste caso, a altura e a largura são iguais). bola = new Sprite(imagemDaAmarela, diametro, diametro); Abaixo temos o método responsável por mover a bola para a direita. O método inicia tomando a posição atual da bola. A seguir, o sprite é atualizado para o último frame da sequência do sprite, que representa uma imagem vazia. Essa imagem é pintada na tela com o método refresh da classe TelaDoJogo. Isso faz com que a bola suma na tela do usuário. Logo após, o sprite é movido uma casa para a direita e o sprite é atualizado para o primeiro frame da sequência, que contém a bola cheia. Essa bola é pintada novamente na tela com o mesmo método, fazendo com que ela reapareça. Por questões de otimização, o método refresh() pinta apenas a área em que a bola está se movimentando, para não pintar desnecessariamente as regiões em que não há modificação na tela. /** * Move a bola para uma casa para a direita. */ public void moverparadireita() { int x = bola.getx(); int y = bola.gety(); bola.setframe(3); TelaDoJogo.getInstance().refresh(x, y, diametro, diametro); bola.move(diametro, 0); } bola.setframe(0); TelaDoJogo.getInstance().refresh(x + diametro, y, diametro, diametro); Este método simples move o sprite x pixels no eixo x e y no eixo y.

36 35 public void mover(int x, int y) { } bola.move(x, y); PlayTone Para a utilização de sons no jogo, optamos pelo uso do método playtone. Este método pertence à classe Manager do Java ME e é responsável por produzir um tom, dado sua duração e a nota. Os sons presentes no Liga Quatro são produzidos após cada jogada e ao mostrar a tela de vitória, derrota ou empate. Um exemplo pode ser conferido abaixo: /** * Toca o efeito sonoro da bola amarela. */ public void tocarefeitobolaamarela() { try { Manager.playTone(79, 100, 100); Thread.sleep(100); Manager.playTone(77, 100, 100); } } catch (InterruptedException ex) { ex.printstacktrace(); } catch (MediaException ex) { ex.printstacktrace(); } O método playtone recebe como primeiro parâmetro a nota, que deve ser um número entre 0 e 127 e é calculada através de uma fórmula encontrada em reference/apis/jsr118/. Como segundo parâmetro, é passada a duração da nota em milissegundos. O terceiro parâmetro do método corresponde ao volume do tom, que deve ser entre 0 e 100. Assim, produzimos dois tons para o efeito sonoro da bola amarela, com uma pausa entre eles. O Thread.sleep é utilizado para que os tons produzidos não se sobreponham durante sua execução.

37 36 8 Bibliografia CLDC MIPD IDE Netbeans Sun Wikipedia Asked Questions List

Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro

Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro Uma Introdução ao J2ME Computação Móvel (MAC5743/MAC330) DCC-IME-USP Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro Visão Geral do Java 2 (1) A plataforma Java 2 engloba três elementos:

Leia mais

Programação para Celular com Java

Programação para Celular com Java 1/13 Programação para Celular com Java Objetivo: Capacitar o aluno a desenvolver aplicações com o Sun Java Wireless Toolkit for CLDC. Sumário 1. Introdução:... 2 2. Como criar um novo Projeto?... 2 3.

Leia mais

Scalable Vector Graphics. Kadu Neves Rafael Rocha

Scalable Vector Graphics. Kadu Neves Rafael Rocha Scalable Vector Graphics Kadu Neves Rafael Rocha Roteiro Introdução Vantagens do Uso do SVG Perfis SVG A especificaçào JSR-226 Exemplos Introdução Scalable Vector Graphics é um padrão aberto para descrever

Leia mais

PROJETO INFORMÁTICA NA ESCOLA

PROJETO INFORMÁTICA NA ESCOLA EE Odilon Leite Ferraz PROJETO INFORMÁTICA NA ESCOLA AULA 1 APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA Apresentação dos Estagiários Apresentação do Programa Acessa

Leia mais

Desenvolvimento de Sistemas Móveis em Java com J2ME/MIDP. Jorge H. C. Fernandes

Desenvolvimento de Sistemas Móveis em Java com J2ME/MIDP. Jorge H. C. Fernandes Desenvolvimento de Sistemas Móveis em Java com J2ME/MIDP Jorge H. C. Fernandes Desenvolvimento J2ME/MIDP Agenda Plataforma e Edições Java 2 J2ME - Java 2 Micro Edition MIDP - Mobile Information Device

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Manual de Operação Aplicativo ClickIt

Manual de Operação Aplicativo ClickIt Manual de Operação Aplicativo ClickIt Rev. 1.1 Agosto/2010 GSControl Automação Ltda. Rua Washington Luiz, 675 ITC Conjunto 1101 Centro Porto Alegre RS CEP 90010-460 Telefone: (51)3026-0945 / (51)3287-2167

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Manual do Usuário Android Neocontrol

Manual do Usuário Android Neocontrol Manual do Usuário Android Neocontrol Sumário 1.Licença e Direitos Autorais...3 2.Sobre o produto...4 3. Instalando, Atualizando e executando o Android Neocontrol em seu aparelho...5 3.1. Instalando o aplicativo...5

Leia mais

Agregador de feeds RSS para dispositivos móveis

Agregador de feeds RSS para dispositivos móveis Agregador de feeds RSS para dispositivos móveis Disciplina: Computação Móvel Professor: Mauro Nacif Rocha Data: 27/02/2007 Hadriel Toledo Lima 50290 Juliana Pinheiro Campos 47683 Luis Felipe Hussin Bento

Leia mais

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line)

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line) Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line) Criamos, desenvolvemos e aperfeiçoamos ferramentas que tragam a nossos parceiros e clientes grandes oportunidades

Leia mais

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT Power Point Básico Santa Maria, julho de 2006 O Power Point é um aplicativo do Microsoft Office direcionado à criação de apresentações.

Leia mais

CADERNO DE QUESTÕES WINDOWS 8

CADERNO DE QUESTÕES WINDOWS 8 CADERNO DE QUESTÕES WINDOWS 8 1) No sistema operacional Microsoft Windows 8, uma forma rápida de acessar o botão liga/desliga é através do atalho: a) Windows + A. b) ALT + C. c) Windows + I. d) CTRL +

Leia mais

Manual AGENDA DE BACKUP

Manual AGENDA DE BACKUP Gemelo Backup Online DESKTOP Manual AGENDA DE BACKUP Realiza seus backups de maneira automática. Você só programa os dias e horas em que serão efetuados. A única coisa que você deve fazer é manter seu

Leia mais

DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS DEVELOPMENT OF SOFTWARE FOR MOBILE DEVICES 8º CICLO DE PALESTRAS DE INFORMÁTICA DA FAI

DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS DEVELOPMENT OF SOFTWARE FOR MOBILE DEVICES 8º CICLO DE PALESTRAS DE INFORMÁTICA DA FAI DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS DEVELOPMENT OF SOFTWARE FOR MOBILE DEVICES ROBERTO JUNDI FURUTANI 1 JOSÉ LUIZ VIEIRA DE OLIVEIRA 2 8º CICLO DE PALESTRAS DE INFORMÁTICA DA FAI Resumo

Leia mais

Tutorial J2ME Parte 3

Tutorial J2ME Parte 3 Introdução Tutorial J2ME Parte 3 Como pudemos aprender nos tutoriais anteriores, os dispositivos celulares podem implementar em seu sistema o KVM, a máquina virtual que roda aplicações J2ME. A API de programação

Leia mais

Tutorial Java ME. Deixe o JME surpreender você também! Porque programar com 1 GB de RAM é fácil!! Neto Marin

Tutorial Java ME. Deixe o JME surpreender você também! Porque programar com 1 GB de RAM é fácil!! Neto Marin Deixe o JME surpreender você também! Porque programar com 1 GB de RAM é fácil!! Neto Marin Apresentação Experiência com Java desde 2002 (SCJP): Atuando com mobilidade desde 2005 P&D do Mobile Sys da Softway

Leia mais

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo Programação para Dispositivos Móveis Prof. Wallace Borges Cristo Acesso a informação Notícias, Ringtones, Vídeos Messenger/Chat Jogos Acesso a instituições financeiras M-commerce (Mobile Commerce) Aplicações

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF Guilherme Macedo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil guilhermemacedo28@gmail.com, jaime@unipar.br Resumo.

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Manual de Conversão para PDF Envio de Arquivos ao Diário Oficial

Manual de Conversão para PDF Envio de Arquivos ao Diário Oficial Manual de Conversão para PDF Manual de Conversão para PDF 3 Conversão para PDF Microsoft Office 2003 Instalação da impressora PDF O pacote de aplicativo Office 2003 não possui nativamente o recurso de

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Java ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus

Java ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus Java ME e suas principais tecnologias de conectividade Gracieli Begia Mateus Telefones Celulares no Mundo Fonte: UIT e Wireless Intelligence (Ovum/GSM Association) Posição do Brasil no Mundo Principais

Leia mais

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar

Leia mais

PASSO A PASSO MOVIE MAKER

PASSO A PASSO MOVIE MAKER PASSO A PASSO MOVIE MAKER Nesta etapa, você deverá apresentar o programa e ajudá-los a montarem o filme. Veja como é fácil. Siga as instruções do passo-a-passo: DICA O que é o Movie Maker? Com o Microsoft

Leia mais

Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar. com o CMS.

Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar. com o CMS. Índice: CMS 3 O que é Content Management System? Clientes 4 O que é o Cliente? 4 Configurando o i-menu/i-view para trabalhar com o CMS. 5 Removendo o Cliente. Playlist 7 Criando um Playlist. 8 Adicionando

Leia mais

COMO USAR DOIS MONITORES NO WINDOWS 8

COMO USAR DOIS MONITORES NO WINDOWS 8 COMO USAR DOIS MONITORES NO WINDOWS 8 Trabalhar com dois monitores no Windows tem diversas utilidades. Dentre elas podemos destacar a possibilidade de visualizar mais itens ao mesmo tempo, exibir o conteúdo

Leia mais

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME Java para Dispositivos Móveis Desenvolvendo Aplicações com J2ME Thienne M. Johnson Novatec Capítulo 1 Introdução à computação móvel 1.1 Computação móvel definições Computação móvel está na moda. Operadoras

Leia mais

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

SUMÁRIO TUTORIAL DO HQ. 2 DICAS PEDAGÓGICAS:. 2 DOWNLOAD DA INSTALAÇÃO. 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD. 2 PASSO 2 ESCOLHENDO A VERSÃO.

SUMÁRIO TUTORIAL DO HQ. 2 DICAS PEDAGÓGICAS:. 2 DOWNLOAD DA INSTALAÇÃO. 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD. 2 PASSO 2 ESCOLHENDO A VERSÃO. SUMÁRIO TUTORIAL DO HQ... 2 DICAS PEDAGÓGICAS:... 2 DOWNLOAD DA INSTALAÇÃO... 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD... 2 PASSO 2 ESCOLHENDO A VERSÃO... 3 PASSO 3 INSTRUÇÕES DE INSTALAÇÃO... 4 CRIANDO NOVAS

Leia mais

Itinerários de Ônibus Relatório Final

Itinerários de Ônibus Relatório Final CENTRO UNIVERSITÁRIO SENAC Itinerários de Ônibus Relatório Final Grupo 5 Caio Roque Daniel Nunes Elise Roese José Caneiro Marcos Grignani São Paulo Junho de 2007 1 ÍNDICE 1. Introdução... 3 2. Desenvolvimento...

Leia mais

UM FRAMEWORK PARA DESENVOLVIMENTO DE

UM FRAMEWORK PARA DESENVOLVIMENTO DE UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM FRAMEWORK PARA DESENVOLVIMENTO DE APLICATIVOS EM WINDOWS MOBILE. PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno:

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

Manual AGENDA DE BACKUP

Manual AGENDA DE BACKUP Gemelo Backup Online DESKTOP Manual AGENDA DE BACKUP Realiza seus backups de maneira automática. Você só programa os dias e horas em que serão efetuados. A única coisa que você deve fazer é manter seu

Leia mais

Microsoft Office PowerPoint 2007

Microsoft Office PowerPoint 2007 INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em

Leia mais

Astra. Introdução e conceitos básicos do sistema

Astra. Introdução e conceitos básicos do sistema 2011 www.astralab.com.br Astra Introdução e conceitos básicos do sistema Este documento permite entender melhor como funciona o sistema Astra e algumas funções básicas de seus softwares. Equipe de Documentação

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2 Estrutura de Repetição. Ex. 2 A ESTRUTURA Enquanto faça{} É MELHOR UTILIZADA PARA SITUAÇÕES ONDE O TESTE DE CONDIÇÃO (V OU F) PRECISA SER VERIFICADO NO INÍCIO DA ESTRUTURA DE REPETIÇÃO.

Leia mais

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Construtor de sites SoftPixel GUIA RÁPIDO - 1 - GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template

Leia mais

Digifort Mobile Manual Version 1.0 Rev. A

Digifort Mobile Manual Version 1.0 Rev. A Digifort Mobile Manual Version 1.0 Rev. A 2 Digifort Mobile - Versão 1.0 Índice Parte I Bem vindo ao Manual do Digifort Mobile 1.0 5 1 Screen... Shots 5 2 A quem... se destina este manual 5 3 Como utilizar...

Leia mais

Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b

Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b Thunder Pro II Gold Edition Manual de operações v 8.7 Rev:b Este manual foi escrito exclusivamente para o chip Thunder Pro II Gold e será atualizado juntamente com as atualizações do chip, portanto acesse

Leia mais

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 CURITIBA 2015 2 SUMÁRIO INTRODUÇÃO AO MICROSOFT POWERPOINT 2007... 3 JANELA PRINCIPAL... 3 1 - BOTÃO OFFICE... 4 2 - FERRAMENTAS DE ACESSO

Leia mais

Programação Gráfica Parte 1 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano

Programação Gráfica Parte 1 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano Programação Gráfica Parte 1 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano Paulo V. W. Radtke pvwradtke@gmail.com http://www.ppgia.pucpr.br/~radtke/jogos/ AVISO IMPORTANTE!! Esta versão é dedicada exclusivamente

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Ciclo de Vida de uma Aplicação Android Professor: Danilo Giacobo OBJETIVOS DA AULA Entender o ciclo de vida de uma aplicação Android. Conhecer algumas dicas para tirar

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo Manual Sistema MLBC Manual do Sistema do Módulo Administrativo Este documento tem por objetivo descrever as principais funcionalidades do sistema administrador desenvolvido pela MLBC Comunicação Digital.

Leia mais

Menus Personalizados

Menus Personalizados Menus Personalizados Conceitos básicos do Painel Logando no Painel de Controle Para acessar o painel de controle do Wordpress do seu servidor siga o exemplo abaixo: http://www.seusite.com.br/wp-admin Entrando

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

MANUAL DO USUÁRIO. Software de Imagem via Celular (isic) baseado no sistema operacional Symbian

MANUAL DO USUÁRIO. Software de Imagem via Celular (isic) baseado no sistema operacional Symbian MANUAL DO USUÁRIO Software de Imagem via Celular (isic) baseado no sistema operacional Symbian Software de Imagem via Celular (isic) baseado no sistema operacional Symbian Esse software possui tecnologia

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014. Faculdade de Tecnologia SENAC Goiás Disciplina: Gerenciamento de Rede de Computadores : Goiânia, 16 de novembro de 2014. Faculdade de Tecnologia SENAC Goiás Professor: Marissol Martins Alunos: Edy Laus,

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador.

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador. INTRODUÇÃO O Programa pode ser instalado em qualquer equipamento que utilize o sistema operacional Windows 95 ou superior, e seu banco de dados foi desenvolvido em MySQL, sendo necessário sua pré-instalação

Leia mais

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo) APOSTILA DE EXEMPLO (Esta é só uma reprodução parcial do conteúdo) 1 Índice Aula 1 - Área de trabalho e personalizando o sistema... 3 A área de trabalho... 3 Partes da área de trabalho.... 4 O Menu Iniciar:...

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Informática. Informática. Valdir

Informática. Informática. Valdir Informática Informática Valdir Questão 21 A opção de alterar as configurações e aparência do Windows, inclusive a cor da área de trabalho e das janelas, instalação e configuração de hardware, software

Leia mais

Tecnologia e Informática

Tecnologia e Informática Tecnologia e Informática Centro Para Juventude - 2014 Capitulo 1 O que define um computador? O computador será sempre definido pelo modelo de sua CPU, sendo que cada CPU terá um desempenho diferente. Para

Leia mais

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...

Leia mais

Personalizações do mysuite

Personalizações do mysuite Personalizações do mysuite 1. mysuite... 2 2. Customização de campos... 3 3. Importação de dados... 3 4. Integração de sistemas... 3 5. Personalização do Atendimento Online... 4 5.1. Imagens de online

Leia mais

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit Vitor Paulo Silva Se você é um projetista e sua principal ferramenta de trabalho é o AutoCAD ou o Revit, certamente você já se deparou com

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso Universidade Federal de Santa Catarina Departamento de Informática e Estatística Curso de Bacharelado em Ciências da Computação Marcus Vinicius Cruz Xavier Rascunho do trabalho de conclusão de curso Título

Leia mais

HCT Compatibilidade Manual do Usuário

HCT Compatibilidade Manual do Usuário HCT Compatibilidade Manual do Usuário Índice Introdução...3 HCT Compatibilidade...3 Librix...3 Execução do Programa...4 Seleção de Testes...4 Testes Manuais...6 Teste de Teclado...6 Teste de Vídeo...7

Leia mais

Programa de Instalação do Lince GPS

Programa de Instalação do Lince GPS Esse programa instala o software Lince GSP em aparelhos portáteis que tenham GPS, como navegadores e celulares. O software Lince GPS é um programa destinado a alertar sobre a aproximação a pontos previamente

Leia mais

Como dito anteriormente, a JCP especificou dois grupos para a J2ME conforme as necessidades dos dispositvos, chamadas Configurações:

Como dito anteriormente, a JCP especificou dois grupos para a J2ME conforme as necessidades dos dispositvos, chamadas Configurações: 1 TECNOLOGIA J2ME A J2ME, Java Micro Edition, é uma tecnologia que permite o desenvolvimento de aplicações Java para dispositivos com poder de processamento, vídeo e memória limitados. Possui uma coleção

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

Introdução ao Android SDK. Prof. Me. Hélio Esperidião Introdução ao Android SDK Prof. Me. Hélio Esperidião Android SDK O Android SDK permite que os desenvolvedores elaborem as aplicações a partir de um dispositivo virtual para os aparelhos de celular e tablet,

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Informática Básica para o PIBID

Informática Básica para o PIBID Universidade Federal Rural do Semi Árido Programa Institucional de Iniciação à Docência Informática Básica para o PIBID Prof. Dr. Sílvio Fernandes Roteiro O Tamanho e Resolução de imagens O Compactação

Leia mais

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes 3 MÁQUINAS VIRTUAIS Em nossa aula anterior, fizemos uma breve introdução com uso de máquinas virtuais para emularmos um computador novo

Leia mais

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Introdução ao Microsoft Windows 7 O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Visualmente o Windows 7 possui uma interface muito intuitiva, facilitando a experiência individual do

Leia mais

AULA 1 Iniciando o uso do TerraView

AULA 1 Iniciando o uso do TerraView 1.1 AULA 1 Iniciando o uso do TerraView Essa aula apresenta a interface principal do TerraView e sua utilização básica. Todos os arquivos de dados mencionados nesse documento são disponibilizados junto

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Manual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web

Manual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web Manual do Publicador Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web Sumário Painel de Administração... 3 1 - Inserção de post... 5 2 Publicação de post com notícia na área headline (galeria de

Leia mais

Interfaces Gráficas parte 3

Interfaces Gráficas parte 3 parte 3 (Listview, AlertDialog e ActionBar) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação

Leia mais

BlackBerry Mobile Voice System

BlackBerry Mobile Voice System BlackBerry Mobile Voice System BlackBerry Mobile Voice System Comunicações móveis unificadas O Mobile Voice System ( MVS) foi projetado para unificar os recursos do telefone fixo aos smartphones e às redes

Leia mais

Sumário. Capítulo 2 Iniciando o TR4... 8 2.1 Como efetuar o login... 8

Sumário. Capítulo 2 Iniciando o TR4... 8 2.1 Como efetuar o login... 8 1 Sumário Capítulo 1 Introdução ao TR4... 4 1.1 Requisitos Mínimos... 4 1.2 Layout do Sistema... 5 1.3 Legenda... 5 1.4 Visão geral das funcionalidades... 6 1.4.1 O Menu Administração... 6 1.4.2 O Menu

Leia mais

DESENVOLVIMENTO DE APLICATIVOS PARA CELULAR JAVA 2 MICRO EDITION

DESENVOLVIMENTO DE APLICATIVOS PARA CELULAR JAVA 2 MICRO EDITION DESENVOLVIMENTO DE APLICATIVOS PARA CELULAR JAVA 2 MICRO EDITION Robison Cris Brito Centro Federal de Educação Tecnológica do Paraná Unidade de Pato Branco robison@pb.cefetpr.br RESUMO Engana-se quem acha

Leia mais

Trecho retirando do Manual do esocial Versão 1.1

Trecho retirando do Manual do esocial Versão 1.1 Trecho retirando do Manual do esocial Versão 1.1 A rotina de acesso direto ao XML do S-1000, o usuário pode encontrar na opção de cadastro de Empresas do SIP. Sempre que o usuário localizar a figura ao

Leia mais

TUTORIAL Última atualização: 23/03/2015

TUTORIAL Última atualização: 23/03/2015 TUTORIAL Última atualização: 23/03/2015 Índice Acesso à Intranet... 1 Alterando foto e senha... 2 A Área de Trabalho da Intranet... 3 Alterando a Área de Trabalho... 4 Tipos de Usuários... 5 Cadastrando

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Análise de Dados do Financeiro

Análise de Dados do Financeiro Análise de Dados do Financeiro Introdução Para reunir em um só local as informações de contas a pagar e receber cadastradas e/ou geradas no sistema TTransp existe a interface de análise de dados do financeiro.

Leia mais

MANUAL DO USUÁRIO. Software de Imagem via Celular (SIC) baseado no sistema operacional Symbian da Nokia

MANUAL DO USUÁRIO. Software de Imagem via Celular (SIC) baseado no sistema operacional Symbian da Nokia MANUAL DO USUÁRIO Software de Imagem via Celular (SIC) baseado no sistema operacional Symbian da Nokia Software de Imagem via Celular (SIC) baseado no sistema operacional Symbian da Nokia Esse software

Leia mais

MANUAL DO USUÁRIO. Software de Imagem via ipad baseado no sistema operacional ios

MANUAL DO USUÁRIO. Software de Imagem via ipad baseado no sistema operacional ios MANUAL DO USUÁRIO Software de Imagem via ipad baseado no sistema operacional ios Software de Imagem via ipad baseado no sistema operacional ios Este manual irá auxiliá-lo na instalação e utilização do

Leia mais

Criando Quiz com BrOffice.impress

Criando Quiz com BrOffice.impress Criando Quiz com BrOfficeimpress A ferramenta de apresentação possibilita o desenvolvimento de várias atividades interativas como: Sete erros Quiz (Perguntas/Respostas), Colocar em ordem objetos, alfabeto,

Leia mais

Google Drive: Acesse e organize seus arquivos

Google Drive: Acesse e organize seus arquivos Google Drive: Acesse e organize seus arquivos Use o Google Drive para armazenar e acessar arquivos, pastas e documentos do Google Docs onde quer que você esteja. Quando você altera um arquivo na web, no

Leia mais

MANUAL DE CONFIGURAÇÃO

MANUAL DE CONFIGURAÇÃO MANUAL DE CONFIGURAÇÃO Índice Conteúdo Página Legendas 3 1.0 Primeiro acesso 5 2.0 Cadastro de login e senha 6 3.0 Configuração do Blocker 7 3.1 Senha de acesso 8 3.2 Grade de Horário 9 3.2.1 Configurando

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 4 Ambiente de desenvolvimento Java QI ESCOLAS E FACULDADES Curso Técnico em Informática SUMÁRIO A LINGUAGEM JAVA... 3 JVM, JRE, JDK... 3 BYTECODE... 3 PREPARANDO O AMBIENTE

Leia mais

Tutorial de Blender, Animação básica do tipo keyframe

Tutorial de Blender, Animação básica do tipo keyframe Tutorial de Blender, Animação básica do tipo keyframe Enfim, o momento por muitos esperado! ;-) Agora que você já está mais familiarizado com o blender, com o básico sobre edição mesh e sobre renderização,

Leia mais