TRABALHO DE FINAL DE CURSO TECNOLOGIA J2ME: JAVA 2 MICRO EDITION
|
|
|
- Rubens Amorim Gama
- 10 Há anos
- Visualizações:
Transcrição
1 TRABALHO DE FINAL DE CURSO TECNOLOGIA J2ME: JAVA 2 MICRO EDITION SANDRO DINIZ VALENTE 2005
2 ii SANDRO DINIZ VALENTE TECNOLOGIA J2ME: JAVA 2 MICRO EDITION Trabalho de Fim de Curso apresentado à Uniminas, como requisito parcial à obtenção do título de Bacharel em Sistemas de Informação. Orientador: Prof. Mestre Silvio Bacalá Junior UBERLÂNDIA 2005
3 iii SANDRO DINIZ VALENTE TECNOLOGIA J2ME: JAVA 2 MICRO EDITION Trabalho de Fim de Curso apresentado à Uniminas, como requisito parcial à obtenção do título de Bacharel em Sistemas de Informação. Orientador: Prof. Mestre Silvio Bacalá Junior Banca Examinadora: Uberlândia, 27 de Julho de 2005 Prof. Francisco José Muller Prof. Márcio Caetano Prof. Sílvio Bacalá Júnior
4 iv AGRADECIMENTOS Agradeço aos meus pais, Álvaro e Maria Tereza, pelo incentivo, pois sem eles esta jornada não estaria terminada. Ao professor Sílvio Bacalá Junior, pela orientação e atenção que foram fundamentais para a realização deste trabalho. À professora Kátia Lopes Silva pela atenção e seriedade que ela proporcionou a todos os alunos do curso. À todos os colegas que com o passar do tempo se mostraram verdadeiros amigos. À UNIMINAS pela estrutura e seriedade no trabalho. À Valéria, por me mostrar durante todo esse tempo, que pessoas boas ainda existem.
5 v RESUMO Com a massificação da Internet em âmbito mundial, diversas linguagens de programação surgiram e tornaram-se mais acessíveis para pessoas com interesse em aprender ou desenvolver. Java foi uma delas, sendo aplicada em diversos setores como controles-remoto de aparelhos eletrônicos, fornos microondas, telefones celulares e, principalmente, computação. Levando em consideração essa diversidade de setores, houve a necessidade da criação de kits de desenvolvimento diferenciados para cada uma. O Java 2 Micro Edition, mais conhecido como J2ME, veio a atender dispositivos com pequena capacidade de memória, tais como telefones celulares e PDAs.
6 vi ABSTRACT With the Internets s massification in world-wide ambit, several programming languages came up and became more accessible to people interested in learning or developing. Java was one of them, being applied in diverse sectors like remote-controls of electronic equipments, microwave ovens, cellphones and, mainly, computation. Considering this sectors diversity, emerged the necessity to create kits of differentiated developments for each one. The Java 2 Micro Edition, most known as J2ME, came to attend devices with low memory s capacity, such as cellphones and PDAs.
7 vii SUMÁRIO 1 INTRODUÇÃO Um pouco sobre a linguagem Java UM ESTUDO SOBRE O J2ME Introdução Estrutura do J2ME Configuração Perfil Pacotes Opcionais Divisões do J2ME A CLDC e seus perfis Os Perfis da CLDC: o MIDP e o PDAP A KVM A CDC, seus Perfis e a CVM Os Perfis da CDC: FP, PBP, PB, RMI e o GP A CVM MIDLet INSTALANDO E CONFIGURANDO O J2ME WIRELESS TOOLKIT Por quê o Wireless Toolkit? Instalando o J2SDK Instalando o Wireless Toolkit J2ME NA PRÁTICA Entendendo a estrutura dos diretórios O MIDlet Estrutura básica de um MIDlet O MIDlet Olá Mundo PROGRAMAS E CÓDIGOS Worm Game A classe WormFood Manipulação de imagens ESTUDO DE CASO Obtendo imagens de uma webcam em um telefone celular Ajustando o ambiente Parte do código Mais webcams CONCLUSÃO REFERÊNCIAS BIBLIOGRÁFICAS...31
8 viii LISTA DE FIGURAS Figura 1: Primeiro projeto do Green... 1 Figura 2: Edições da Plataforma JAVA Figura 3: A Família Java... 5 Figura 4: As camadas do J2ME... 6 Figura 5: A CLDC,... 8 Figura 6: A CLC,... 9 Figura 7: O ciclo de vida de um MIDLet Figura 8: Grupo de trabalho do J2ME Wireless Toolkit Figura 9: Tela inicial de um projeto Figura 10: Nomeando o projeto e a classe Figura 11: Tela com configurações finais para o início do projeto Figura 12: Tela Required Figura 13: Estrutura dos diretórios Figura 14: Estrutura básica de um MIDlet Figura 15: Código fonte do programa Olá Mundo Figura 16: Classe WormFood Figura 17: Classe WormFood Figura 18: Classe WormFood Figura 19: Tela de demonstração de imagens Figura 20: Flashing Lighthouse Figura 21: Esquema do funcionamento do sistema... 27
9 ix LISTA DE SIGLAS J2ME J2SE J2EE PDA J2SDKEE JVM JSDK JRE JCP JSR WSDP JSP JDBC API MIDP PDAP CLDC CDC FP PP PBP RMIP GP KVM JCC Java 2 Micro Edition Java 2 Standard Edition Java 2 Enterprise Edition Personal Digital Assistant Java 2 Software Development Kit Enterprise Edition Java Virtual Machine Java Software Development Kit Java Runtime Environment Java Community Process Java Specification Request Web Services Developers Pack Java Server Pages Java Database Connectivity Application Program Interface Mobile Information Device Profile PDA Profile Connected Limited Device Configuration Connected Device Configuration Foundation Profile Personal Profile Personal Basis Profile Remote Method Invocation Profile Game Profile Kilobyte Virtual Machine Java Code Compact
10 1 INTRODUÇÃO 1.1 Um pouco sobre a linguagem Java No início dos anos 90, a Sun Microsystem criou uma nova linguagem de programação com o objetivo de trabalhar em dispositivos eletrônicos, como por exemplo TVs interativas, microondas, video games, etc. Tal linguagem era chamada de Oak e o grupo que desenvolvia aparelhos eletrônicos que trabalhava com a linguagem Oak se chamava Green Team. O primeiro projeto do Green foi um dispositivo com tela LCD Touchscreen que funcionava como controle remoto de TV, Video Cassete entre outros dispositivos. O software para esse dispositivo teria que ser totalmente confiável e não poderia exigir muito do hardware, devido às suas limitações de memória e processamento. O Green Team pensando nisso desenvolveu a linguagem Oak utilizando boa parte da linguagem C++ e excluindo aquilo que acharam ruim. Como resultado teria-se então uma linguagem pequena, leve, segura e portável. Figura 1: Primeiro projeto do Green Fonte: Sun Microsystem Com o sucesso do projeto, o Green Team foi transformado numa empresa e vários projetos foram a frente. Contudo, o sucesso durou pouco e vários contratos foram rompidos. Sem saber o que fazer com a linguagem Oak (além de que a Sun teria que mudar o nome da linguagem, pois Oak já estava registrado para outros fins) a Sun enxergou uma luz no fim do túnel com a explosão da Internet, pois a linguagem agora conhecida como Java poderia entrar no mercado da World Wide Web para substituir as tradicionais páginas HTML por páginas dinâmicas. Desde então a Sun começou a obter resultados satisfatórios com Java.
11 2 Este trabalho tem por objetivo mostrar os aspectos da tecnologia J2ME, suas características e como programar nela, tendo em vista que a computação móvel e a telefonia celular são realidades cada vez maiores no mundo de hoje, e tal tecnologia permite que desenvolvedores e curiosos façam seus próprios aplicativos para os dispositivos móveis. O trabalho está dividido em 7 capítulos, onde serão abordados conceitos básicos da linguagem Java, preparação do ambiente de trabalho, demonstrações de trechos de códigos para exemplo, um estudo de caso onde mostrará uma curiosa e útil aplicação e uma análise de mercado.
12 3 2 UM ESTUDO SOBRE O J2ME 2.1 Introdução Atualmente o Java encontra-se na sua seguinda edição, a versão 1.4. Desde a versão 1.2, a Sun resolveu utilizar o prefixo J2 (Java 2) para indicar que seria a segunda versão da linguagem, pois desde então as modificações seriam tão grandes em relação à versão 1.1 que seria interessante utilizar o J2 para indicar qual versão estaria sendo utilizada. O Java conta com 3 diferentes tipos de pacotes, sendo eles: - J2SE (Java 2 Standard Edition): É a versão mais utilizada, destinada ao desenvolvimento de aplicativos para desktops e estações de trabalho. - J2EE (Java 2 Enterprise Edition): Destinada ao desenvolvimento de grandes aplicações, como cliente-servidor. - J2ME (Java 2 Micro Edition): Versão destinada ao desenvolvimento para dispositivos com pequena capacidade de memória e processamento. Será o foco deste trabalho. Figura 2: Edições da Plataforma JAVA 2 Fonte: Sun Microsystem
13 4 Outras definições importantes: - JVM (Java Virtual Machine): A JVM é responsável por interpretar os arquivos.class (pré-compilados) da linguagem Java. Ela é considerada o coração da linguagem Java, pois simula uma máquina dentro de um computador. Em alguns casos, a JVM também compila alguns trechos do código (just-in-time compiler), a fim de acelerar o processo de execução. - JSDK (Java Software Development Kit): É o ambiente de desenvolvimento da linguagem Java. Ele inclui a JVM, compilador, appletviewer, algumas bibliotecas básicas entre outras coisas. - JRE (Java Runtime Environment): Pacote aconselhado somente para executar as aplicações, contendo nele a JVM e algumas bibliotecas. Não é possível compilar código Java apenas com isto. Como a JVM pode ser incorporada a aparelhos das redes de geração 2,5 (2,5G), a tecnologia J2ME tornou-se a principal ferramente de desenvolvimento para aplicativos de aparelhos desta geração. Empresas como Motorola, Nokia, Siemens e algumas operadoras telefônicas estão investindo nesta tecnologia. 2.2 Estrutura do J2ME Na computação tradicional temos grandes computadores com bastante capacidade de memória, processamento, display, interface com o usuário e outros aspectos considerados padrões pelos usuários atuais. Os pequenos dispositivos como telefones celulares e PDAs não seguem essas características, pois todos eles tem pouca capacidade de memória, alguns tem uma interface totalmente limitada com o usuário e outras limitações. Pensando desta forma, programas utilizados em computadores normais nunca poderia ser usados nestes pequenos dispositivos, pois as funções e estruturas dos programas teria que ser mais flexíveis devido ao tipo de Hardware. O J2ME tenta criar um padrão para estes dispositivos que são tão diferentes entre si. A Sun tentou unificar essa estrutura com seus outros pacotes, o J2EE e o J2SE.
14 5 Figura 3: A Família Java Fonte: Sun Microsystem - Datasheet Java2 Platform, Micro Edition A arquitetura J2ME não subistitui o sistema operacional dos dispositivos em que trabalha, e sim consiste em camadas acima dele. A camada superior seriam os Profiles, seguido pela camada Configuration, Java Virtual Machine e o sistema operacional (Host Operating System) abaixo (figura 4). A primeira camada, a JVM, interpreta os códigos fontes da linguagem Java e os tranforma em códigos de máquina para que o sistema operacional possa entender. A Configuração (ou Configuration) trabalha como segunda camada e tem por funcão definir uma classe de Hardware a qual está trabalhando, atualmente sendo duas, separando-as em duas famílias. A Configuration possui as bibliotecas principais do núcleo do J2ME. A terceira camada são os Perfis (ou Profiles), que são APIs (Application Program Interface) que complementam e trazem novas funcionalidades ao Configuration.
15 6 Figura 4: As camadas do J2ME Fonte: Sun Microsystem Configuração A Configuração (Configuration) define uma especificação de ambiente de Software para uma determinada faixa de dispositivos, definidos por características de Hardware como interface, memória, processamento entre outras. A Configuração representa uma plataforma mínima de desenvolvimento para cada tipo de dispositivo e nela são permitidos recusrsos adicionais. Os fornecedores de dispositivos devem implementar completamente as especificações da Configuração para que os desenvolvedores possam ter um ambiente de desenvolvimento que funcione corretamente para tal dispositivo. Cada Configuração tem uma JVM e uma coleção núcleo de classes Java. Como os dispositivos em questão não possuem grande capacidade de memória e processamento, é impossível que o J2ME suporte todos os recursos das JVMs utilizadas pelo J2SE por exemplo, sendo assim necessário que toda Configuração tenha sua própria JVM. Os fornecedores de dispositivos não são obrigados a utilizarem a VM da Sun, eles podem fabricar as suas própria ou utilizarem a de terceiros, desde que tais VMs sigam os requisitos mínimos das especificações das Configurações encontradas na Sun. Atualmente existem 2 Configurações definidas no J2ME: a CLDC (Connected Limited Device Configuration) e a CDC (Connected Device Configuration).
16 7 2.4 Perfil O Perfil (ou Profile) é uma API que complementa uma Configuração, implementando classes adicionais que fornecem mais recursos para um determinado dispositivo. Alguns Perfis que têm sua revisão final ou estão em fase de finalização são: MIDP (Mobile Information Device Profile) e PDAP (PDA Profile) usados na CLDC, e o FP (Foundation Profile), PP (Personal Profile), PBP (Personal Basis Profile), RMIP (Remote Method Invocation Profile) e GP (Game Profile) que trabalham com a CDC. 2.5 Pacotes Opcionais Os pacotes opcionais (optional packages) são um conjunto de APIs, mas não definem um ambiente completo de aplicação, como os Perfis. Eles são utilizados com as Configurações e Perfis para extender funcionalidades não encontradas nos mesmos. 2.6 Divisões do J2ME O J2ME é dividido em duas configurações, que são a CLDC (Connected Limited Device Configuration) e o CDC (Connected Device Configuration) A CLDC e seus perfis A CLDC (figura 5) é a configuração mais conhecida do J2ME. Tal configuração está presente na maioria dos telefones celulares de hoje, no qual uma grande parte do mercado está interessada, pois existem muitos atrativos para as operadoras, fornecedores e desenvolvedores. Essa configuração também está presente em pagers e e PDAs com processamento limitado e no PalmOS. Os dispositivos com as seguintes características são atendidos pela CLDC: De 128K à 516K de memória disponível; Processador de 16 ou 32 bits; Fornecimento de energia limitado, geralmente usa baterias; Conectividade com alguns tipos de rede, geralmente de baixa velocidade (9.600kbps); Interface com o usuário limitada. Existem duas versões da CLDC: a CLDC 1.0 e CLDC 1.1. Na primeira não existe ponto flutuante, o que foi corrigido no segunda versão.
17 8 Figura 5: A CLDC, Perfis e a KVM Fonte: Sun MicrosystemTM Os Perfis da CLDC: o MIDP e o PDAP O Persil usado na CLDC é o MIDP (Mobile Information Device Profile). Este Perfil é uma API que adiciona ao CLDC a possibilidade de trabalhar em rede usando o protocolo http 1.1. É o Perfil mais conhecido do J2ME porque é a base do uso Wireless do Java e o único Perfil para o PalmOS. O Perfil PDAP (PDA Profile) é similar ao MIDP, porém seu foco está nos PDAs A KVM A primeira máquina virtual utilizada na CLDC foi a KVM (Kilobyte Virtual Machine). Ela é a menor máquina virtual Java completa criada, pois mantém as propriedades centrais da linguagem e roda em dispositivos muito limitados, com apenas algumas centenas de kilobytes de memória. A KVM não compila o código e sim interpreta o mesmo para o sistema operacional. Devido à grande necessidade de implementar novas classes aos Perfis e o problema de falta de memória dos dispositivos, a Sun desenvolveu uma técnica denominada ROMizing, que consiste em gravar as classes e bibliotecas mais utilizadas pela aplicação em um chip que será introduzido no aparelho. Tal processo ajuda a KVM, pois aquelas classes ou bobliotecas mais utilizadas estarão já gravadas em um chip, evitando que a KVM tenha que interpretá-las, gastando assim menos tempo e recursos do sistema.
18 A CDC, seus Perfis e a CVM Para telefones celulares e outros dispositivos com a mesma capacidade de memória, temos a CLDC que vem cumprindo seu papel atendendo os desenvolvedores. Para aplicações de maior porte, como as que rodam em estações de trabalho, temos os J2SE atendendo uma boa demanda de desenvolvedores. Mas entre esses dois extremos, existem dispositivos que não são atendidos completamente pelo J2ME e não suportam o J2SE, como decodificadores de canais de televisão. Essa lacuna é preenchida pela CDC (Connected Device Configuration) e seus Perfis (figura 6). A CDC foi desenvolvida para atender dispositivos com as seguintes características: Mínimo de 2MB de memória disponível; Processador de 32 bits; Conectividade intermitente ou permanente com a rede, freqüentemente direto com a Internet ou baseada em TCP/IP; Suporta uma implementação completa da Java Virtual Machine; Dispositivos sem nenhuma interface com o usuário ou até aqueles com interface muito sofisticada. Figura 6: A CLC, Perfis e a CVM Fonte: Sun Microsystem
19 Os Perfis da CDC: FP, PBP, PB, RMI e o GP O principal Perfil utilizado na CDC é o Foundation Profile (FP), onde está nele incluído todas as bibliotecas do núcleo Java 2 versão 1.3 e é usado para atuar como base para a maioria dos outros perfis. O Personal Basis Profile (PBP) adiciona funcionalidades básicas de interfaces com o usuário ao FP e é usado em dispositivos com capacidade de interface não muito sofisticada e que não permite mais de uma janela ativa ao mesmo tempo. Já os dispositivos com interfaces de usuário mais sofisticada e complexa usam o Personal Profile (PP) que contém classes para implementar essas interfaces, possui muito mais recursos, inclusive com múltiplas janelas. O RMI Profile (RMIP) adiciona bibliotecas do J2SE Remote Method Invocation ao FP, mas somente o lado cliente desta API é suportada. O Game Profile estava em estudo para fornecer uma plataforma para desenvolvimento de Jogos para dispositivos que usam o CDC. No momento o desenvolvimento do GP foi interrompido e não é certeza se esse perfil derivará do FP ou diretamente do CDC, ou ainda se será abandonado e substituído por um novo perfil ou uma atualização de um perfil já existente A CVM A CVM é a máquina virtual utilizada na CDC. Ela apresenta as mesmas funções da VM usada no J2SE, porém otimizada para utilizar o mínimo de memória possível. Apesar dessa característica importante, ela não possui um compilador como no J2SE, apenas um interpretador de byte-code, porém muito mais otimizado do que a KVM do J2ME. 2.7 MIDLet MIDLet é o nome das aplicações feitas em J2ME, assim como applets são as aplicações do J2SE e os servlets do J2EE. O nome MIDLet veio devido ao perfil MIDP, o mais conhecido e utilizado no J2ME. O MIDLet possui um ciclo de vida importante a ser mostrado, que é o seguinte: startapp(): é chamado quando o MIDLet é ativado ou quando sai de um estado de pausa. pauseapp(): é utilizado para pausar o MIDLel momentaneamente, como por exemplo no momento em que o usuário está utilizando algum jogo e o telefone toca. destroyapp(): é um valor booleano, utilizado para encerrar o aplicativo.
20 11 O MIDLet pode ser carregado sozinho ou em um conjunto de MIDLets chamado MIDLet-Suite. A segunda opção torna possível carregar vários MIDLets ao mesmo tempo, principalmente se eles precisarem interagirem entre si, compartilhando dados ou recursos. Os MIDLets de uma suite não conseguem acessar dados e recursos de outra suite. Figura 7: O ciclo de vida de um MIDLet Fonte: DevX.com No próximo capítulo, discutiremos a preparação do ambiente de trabalho tal como os pré-requisitos necessários para a instalação do J2ME Wireless Toolkit.
21 12 3 INSTALANDO E CONFIGURANDO O J2ME WIRELESS TOOLKIT 3.1 Por quê o Wireless Toolkit? Neste trabalho, foi implementado o código do programa exemplo utilizando o J2ME Wireless Toolkit. Tal escolha foi um tanto quanto óbvia: a linguagem Java é de propriedade da SUN, e o J2ME Wireless Toolkit também. Assim, por obrigação a SUN deve manter uma certa compatibilidade entre a linguagem e seu kit de desenvolvimento, tornando assim mais fácil a tarefa para dos desenvolvedores. Existem alguns pré-requisitos que o usuário deve prestar atenção antes de começar a instalação do programa: O J2SDK (Java 2 Software Development Kit). A última versão do J2ME Wireless Toolkit. 3.2 Instalando o J2SDK O Java 2 Software Development Kit, ou simplesmente J2SDK, é um pacote obrigatório para a programação em Java, tanto em J2ME, J2SE e J2EE. Tal kit contém a máquina virtual Java, compiladores e interpretadores para rodar os aplicativos feitos pelo usuário. Sem o J2SDK é impossível utilizar o J2ME Wireless Toolkit de forma completa, apesar de que o mesmo pode ser instalado no sistema e executado, mas não pode compilar novos programas. O J2SDK pode ser baixado no site da SUN ( e deve ser instalado antes do J2ME Wireless Toolkit. A versão utilizada neste trabalho foi a A instalação é simples e basicamente o usuário escolhe a instalação padrão e clica em next, sem ter que alterar nada. Após ser instalado, o usuário deverá reiniciar o computador. 3.3 Instalando o Wireless Toolkit Chegou a hora de instalar o programa propriamente dito (que também pode ser encontrado no site da SUN). É importante como pré-requisito para a instalação do J2ME, o J2SDK instalado no computador. A versão utilizada do J2ME Wireless Toolkit utilizada neste trabalho é a 2.1. Ao começar a instalação, o usuário escolhe os componentes a serem instalados e o diretório para o programa. Nota importante: Não é possível instalar o programa em diretórios com espaço ou caracteres especiais, como por exemplo C:\Program Files\WTK21. Como padrão, instale em C:\WTK21.
22 13 A figura 8 mostra o grupo de trabalho quando o Wireless Toolkit é instalado. Será utilizado o Ktoolbar para mostrar como desenvolver um aplicativo. Figura 8: Grupo de trabalho do J2ME Wireless Toolkit. Fonte: Tela capturada no desktop onde o aplicativo foi instalado. A instalação do programa termina aqui. No próximo capítulo será mostrado o funcionamento do J2ME Wireless Toolkit com um programa exemplo.
23 14 4 J2ME NA PRÁTICA O primeiro aplicativo que o usuário deve se familiarizar é o compilador de códigos. Isso porquê ele não é um editor como toda linguagem de programação oferece, e sim um mero compilador onde o código feito em qualquer editor de textos será compilado. A figura 9 mostra a tela inicial de um projeto, ou seja, nenhum código. Para iniciar um novo projeto, deve-se clicar em File e depois New Project. A tela da figura 11 será mostrada. Figura 9: Tela inicial de um projeto. Fonte: Desktop. É importante utilizar o mesmo nome para o projeto e a classe, pois isso evita futuras confusões ao analisar ou gerenciar os arquivos gerados pelo Wireless Toolkit. Será usado o nome Cobra para o projeto e classe. Figura 10: Nomeando o projeto e a classe. Fonte: Desktop.
24 15 Ao clicar em Create Project na tela anterior, é mostrada a tela da figura 11. É muito importante nesse momento saber para qual dispositivo estamos programando, pois é a hora de escolher a versão do CLDC (1.0 ou 2.0). Neste projeto, será usada a versão 1.0 por questões de maior compatibilidade com os dispositivos atuais. Figura 11: Tela com configurações finais para o início do projeto. Fonte: Desktop. A figura 12 mostra uma parte importante do projeto, a tela Required. Nela, encontram-se informações sobre o nome do arquivo.jar do projeto, a versão do CLDC escolhida anteriormente e no nome do proprietário do projeto
25 16 MIDlet-Vendor, no qual pode ser alterado para o nome do usuário que está desenvolvendo a aplicativo. Após clicar em OK, o projeto estará automaticamente salvo, mas ainda sem nenhuma linha de código. Figura 12: Tela Required. Fonte: Desktop. 4.1 Entendendo a estrutura dos diretórios Ao iniciar o projeto Cobra, o Wireless Toolkit (WTK) cria toda uma estrutura para os arquivos do projeto serem armazenados. Ela é padrão para qualquer novo aplicativo a ser desenvolvido. A figura 13 ilustra a estrutura.
26 17 Figura 13: Estrutura dos diretórios. Fonte: Desktop. Nota-se que o diretório raiz do projeto Cobra está localizado em C:\WTK21\apps\Cobra. Nele existem várias subpastas: src: onde ficam todos os códigos fontes que serão compilados pelo Wireless Toolkit. res: onde ficam todas as imagens a serem visualizadas e utilizadas no projeto. lib: localização das bibliotecas a serem utilizadas, podendo ser em formato ZIP ou JAR. bin: local onde são gerados os arquivos ZIP ou JAR e o arquivo JAD, que serão utilizados para a pré-verificação. 4.2 O MIDlet Na plataforma Java existe uma certa padronização no nome das aplicações. O Applet é usado para a construção de um pequeno aplicativo que é carregado pelo browser e roda na máquina do cliente. O Servlet é um aplicativo que é solicitado pelo browser e é executado no servidor. Já o MIDlet é construído para ser executado em pequenos componentes Estrutura básica de um MIDlet. A classe MIDlet oferece três métodos abstratos que são usados pela aplicação. Eles são chamados à partir do gerenciador de aplicações do dispositivo, e são usados para se comunicar com os aplicativos que estão rodando. O método "startapp" é chamado imediatamente depois do construtor e cada vez que um aplicativo é ativado, estiver visível. Isto quer dizer que este método não é chamado somente quando o aplicativo é iniciado, uma aplicação pode fazer a transição entre os estados de ativa e inativa muitas vezes durante o tempo em que está sendo rodada, e portanto deve-se evitar colocar código de inicialização que só pode ser rodado uma única vez. O método "destroyapp" é chamado pelo gerenciador de aplicativos para indicar que uma aplicação está prestes à ser terminada. Ao contrário do método "startapp", este método será chamado uma única vez durante o tempo de execução de uma aplicativo sendo, portanto, recomendado o uso de "código de limpeza" aqui, pois, como a MIDP não possui a capacidade de finalizar seus objetos, então eles devem ser terminados, liberados no "destroyapp". O método abstrato, "pauseapp", é utilizado para notificar o aplicativo que está rodando está para ser pausado porque o usuário acabou de começar a rodar outro aplicativo ou está utilizando uma função do dispositivo que prevenirá seu aplicativo de continuar rodando. A maioria dos dispositivos móveis não possuem poder de processamento para estarem realmente "multitasking" (executando várias funções ao mesmo tempo). Este método provavelmente será chamado com uma certa freqüência e deve-se manter em
27 18 mente que os recursos sendo utilizados pelo aplicativo devem ser liberados neste momento. Quando a aplicação volta à rodar, o método "startapp" será chamado pelo gerenciador de aplicativos. A estrutura básica para se construir uma aplicação J2ME pode ser vista na figura 14. Figura 14: Estrutura básica de um MIDlet. Fonte: Desktop É possível observar os três métodos básicos para a criação de um MIDlet, já explicados anteriormente. 4.2 O MIDlet Olá Mundo Como todo programador descobrindo uma linguagem nova, os autores de livros sempre usam o tradicional exemplo Hello World, ou Olá Mundo em português. É interessante aprender o mesmo programa em várias linguagens diferentes, pois assim o usuário pode fazer uma comparação nos códigos fonte e analisar em qual linguagem se gastou menos linhas, qual utilizou mais componentes, qual utilizou menos funções e outras coisas mais curiosas. Será demonstrado aqui, então, o programa Olá Mundo, que nada mais faz do que apresentar esta mensagem na tela do celular. É importante dizer que o J2ME não tem um editor de código. Foi usado neste trabalho o programa EditPlus 2. A figura 15 ilustra o código fonte do programa.
28 19 Figura 15: Código fonte do programa Olá Mundo. Fonte: Desktop. Este exemplo estende ao aplicativo a classe base MIDP através da classe MIDlet e importa a javax.microedition.midlet e a javax.microedition.lcdui. Um inclui a classe base MIDIlet para o aplicativo, enquanto o outro garante os elementos da interface gráfica, respectivamente. No método startapp, o MIDlet adquire recursos e inicia a execução. No pauseapp libera recursos e fica em hibernação (wait); no destroyapp libera recursos, finaliza threads e termina todas as atividades. Toda comunicação tem que acontecer em ambas direções, ou seja, ir e vir, para ser eficiente. O MIDlet oferece um conjunto de métodos para comunicar-se com o gerenciador de aplicações: NotifyDestroyed notifica ao gerenciador que a aplicação quer ser terminada. Ao chamar este método, o resultado não será a execução do método "destroyapp", ele deve ser chamado manualmente.
29 20 NotifyPaused notifica o gerenciador que a aplicação quer ser pausada. ResumeRequest solicita que o gerenciador volte a rodar a aplicação, se esta estiver pausada. GetAppProperty busca as informações de configuração de uma aplicação. Depois que o arquivo estiver compilado e pré-verificado (os packages criados ), chama-se o emulador, que simula o desempenho do celular, (procurar sempre utilizar o do modelo do celular real). Aparecerá a execução da aplicação em J2ME tal qual em um celular, e após, enviá-la para o celular. Recomenda-se sempre criptografar as informações, os dados. O obfuscator oculta o código e diminui seu tamanho; não consegue evitar a descompilação, mas dá trabalho para alguém entender e refazer o código. No próximo capítulo, serão mostrados diversos programas e seus respectivos códigos para entender melhor a capacidade do J2ME em diversos aspectos, como jogos, wap, sons e vídeos.
30 21 5 PROGRAMAS E CÓDIGOS Como o intuito deste trabalho é mostrar a plataforma J2ME utilizando o Wireless Toolkit, serão colocados em prática alguns aplicativos que aproveitam da capacidade de um telefone celular e da plataforma J2ME Wireless Toolkit. Alguns programas são bem simples, como a calculadora e o jogo da cobrinha que todos conhecem. Outros são mais impressionantes, como programas que se conectam na Internet para obtenção de dados. 5.1 Worm Game É o tradicional jogo da cobrinha. Todos o conhecem mas talvez possam não ter idéia da complexidade do código fonte para se fazer uma aplicação sem muita utilidade prática, porém bem divertida. O jogo é constituído por sete classes: WormScore: é a classe que controla a pontuação do jogador. Worm: é a classe que controla a cobra, sua direção e seus movimentos. WormException: classe que controla as mortes da cobra. Ao morrer, o jogo é iniciado. WormFood: é o item que a cobra vai comer. Ele é posicionado em lugares alternados da tela. WormLink: classe responsável por adicionar novas partes à cobra. WormMain: classe principal do jogo. É ela quem inicia o MIDlet. WormPit: classe responsável pelo ambiente do jogo, sendo esse o espaço físico em que a cobra pode andar. A seguir, teremos alguns códigos A classe WormFood.
31 Figura 16: Classe WormFood. Fonte: Desktop. 22
32 Figura 17: Classe WormFood. Fonte: Desktop. 23
33 24 Figura 18: Classe WormFood. Fonte: Desktop. Nas figuras 16, 17 e 18 é mostrado a classe WormFood, que controla as ações da comida do personagem do jogo (no caso, a cobra). A comida aparece em um lugar qualquer da tela localizado pelas coordenadas X e Y na matriz. Caso a localização da cobra coincida com a localização da comida, quer dizer que o jogador conseguiu alcançar o item. Neste caso, a função é rodada novamente para que um novo item seja colocado na tela. Existem mais seis classes para tornar o aplicativo completo. Algumas tem mais linhas de código do que a classe WormScore e outras tem menos. Não serão mostradas todas aqui pois o objetivo deste trabalho não é aprender a linguagem Java, e sim demonstrar o poder do J2ME. 5.2 Manipulação de imagens Os telefones celulares mais novos estão evoluindo também na questão do display, já que uma das propostas para o futuro é a de receber streaming de áudio e vídeo (som e imagem vindo da Web). Pela lógica, um celular que tem a capacidade de reproduzir vídeos também tem a capacidade de mostrar fotos. O J2ME Wireless Toolkit permite a inserção de imagens e pequenas animações (seqüência de arquivos PNG) em seus aplicativos. Tais imagens podem ser do tipo JPEG, JPEG preto e branco, JPEG progressivo e PNG. Na figura 19, temos o menu de demonstração de imagens suportadas.
34 25 Figura 19: Tela de demonstração de imagens. Fonte: Desktop. O Flashing Lighthouse mostrado na figura x representa uma sobreposição de quadros utilizando duas figuras PNG. O efeito da torre emitindo uma luz é a utilização em loop destas duas imagens. É interessante lembrar que um contador de quadros por segundo é mostrado no canto inferior do display do celular. A média atingida com este exemplo foi de 5 quadros por segundo (FPS), um valor bom para uma imagem considerando-se o processador de um telefone celular. Por efeito de comparação, gráficos vetoriais utilizados em games têm uma velocidade boa se atingirem 50 ou 60 quadros por segundo (FPS). Figura 20: Flashing Lighthouse. Fonte: Desktop.
35 26 6 ESTUDO DE CASO Com o passar do tempo a tecnologia vem surpreendendo a todos, e isso não é segredo. Observa-se que o impossível quase sempre torna-se possível, isso graças à criatividade de quem faz um aplicativo. Não só a tecnologia vem crescendo ultimamente como também a violência, assaltos, roubos e outras coisas desagradáveis ao ser humano, e com isso observa-se várias soluções sendo criadas para evitar tais transtornos. Mas e se fosse possível criar algo útil à humanidade com o J2ME, seria interessante no mínimo, e estimulante para quem programa nele. Será demonstrado aqui um código bem interessante, onde com o qual uma pessoa pode monitorar um ambiente utilizando um telefone celular consigo, e uma webcam conectada a um servidor web. 6.1 Obtendo imagens de uma webcam em um telefone celular Com o Java 2 Micro Edition você pode ver imagens geradas por uma câmera digital no seu celular wap. Será detalhado agora o processo para obterse tal resultado. A captura de imagens deverá ser feita por uma webcam, que repassa as fotos a um servidor web. O MIDP fornece uma API Java para construir aplicativos wireless que possam ser usados em telefones celulares, pagers, e PDAs que suportam MIDP. Um outro nome para aplicações de MIDP são MIDlets. A seguir são mostrados alguns princípios que foram citados detalhadamente em capítulos anteriores: Um MIDlet é uma classe de Java que estende à classe abstrata (javax.microedition.midlet.midlet). Primeiramente, um MIDlet que estende à classe abstrata do MIDlet deve executar os seguintes métodos: startapp() pauseapp(), e destroyapp(). Desde que todas as execuções de MIDP suportem as imagens armazenadas no formato PNG, caso a webcam não suporte o salvamento de imagens neste formato de arquivo, o desenvolvedor deverá converter as imagens capturadas para esse formato. Existem vários programas que fazer isso no mercado. Todas as execuções do MIDP devem fornecer suporte para o protocolo HTTP. Recomenda-se usar o HTTP, pois este permite que a aplicação seja portável através de todos os dispositivos de informação móveis. A figura 21 mostra uma visão geral do esquema:
36 27 Figura 21: Esquema do funcionamento do sistema. Fonte: Ajustando o ambiente Para a parte de desenvolvimento serão necessários alguns programas: A plataforma J2SE. A plataforma J2ME. É no Wireless Toolkit que o programa Java será desenvolvido. O emulador também será muito útil na fase de testes, pois uma conexão wap atualmente é muito cara. Uma webcam para captura de imagens. Normalmente todas as câmeras vêm com um software para captura de imagens. Tal software também será necessário. Um editor de código. Um servidor Web Parte do código Quando a aplicação é iniciada no telefone celular, a lista de possíveis câmeras disponíveis é lida pelo arquivo Java Application Descriptor (JAD) chamando a função setupimagelist(): for (int n = 1; n < 100; n++) { String nthimage = "PhotoImage-"+ n; String image = getappproperty(nthimage); if (image == null image.length() == 0) break; } String nthtitle = "PhotoTitle-" + n; String title = getappproperty(nthtitle); if (title == null title.length() == 0) title = image; imagenames.addelement(image); imagelist.append(title, null);
37 28 O arquivo JAD verifica se existe uma versão atualizada do MIDlet no servidor, necessária para rodar a aplicação antes de inicia-la. Tal arquivo também permite que se adicionem novas câmeras à aplicação sem que o código fonte tenha que ser alterado. A função setupimagelist() faz um loop procurando por novas câmeras disponíveis no arquivo JAD. A lista é armazenada na variável imagelist. Ao escolher a câmera desejada, o processo inicia. O método run() mostra uma barra de progresso indicando o quanto da imagem já foi baixado. A aplicação indica um alerta caso ocorra uma falta de memória para armazenar o arquivo de imagem. Se nenhuma imagem é encontrada, outro alerta é mostrado. O método createimage() cria uma conexão para o servidor web. c = (HttpConnection)Connector.open(name); O aplicativo confirma se a imagem é realmente um arquivo PNG. Caso contrário, a seguinte mensagem de erro é mostrada: if (!type.equals("image/png")) { throw new IOException("Expecting a PNG image, but received " + type); } O método DataInputStream lê a imagem através da conexão do HTTP: is = c.opendatainputstream(); byte[] data = new byte[len]; is.readfully(data); return Image.createImage(data, 0, len); A classe PhotoFrame faz uma quantidade justa de trabalho aqui. Ela é responsável por trazer a imagem até o display do aparelho. this.images = images; if (images.size() > 0) { Image image = (Image)images.elementAt(0); imagewidth = image.getwidth(); imageheight = image.getheight(); } else { imagewidth = 0; imageheight = 0; } index = 0; imagex = (getwidth() - imagewidth) / 2; imagey = (getheight() - imageheight) / 2; genframe(style, imagex, imagey, imagewidth, imageheight);...
38 29 g.drawimage((image)images.elementat(index), imagex, imagey, Graphics.LEFT Graphics.TOP); Mais webcams Este exemplo tem a função de ver imagens de três câmeras distintas. Se quiser adicionar mais câmeras, basta modificar o arquivo getimage.jad. A maneira mais fácil fazer isto é através do Wireless Toolkit: Inicie o Ktoolbar. Clique em Settings. Escolha a aba User Defined. Clique em Add e escreva em property name: PhotoImage-3. Para o campo valor, digite o local onde o software de captura de imagens da webcam está salvando os arquivos. Clique em Add e entre com o seguinte valor no campo property name: PhotoTitle-3. Para o valor, digite o nome do ambiente que a webcam está monitorando (ex: entrada do prédio). Clique em Run. Modifique o arquivo JAD para ir direto aos arquivos capturados pela webcam, apontando o local onde o servidor web está salvando as imagens (ex:
39 30 7 CONCLUSÃO Já é um fato de que um telefone celular nos dias de hoje não é nenhum artigo de luxo. Antigamente pagava-se caro para obter e manter um objeto destes, mas hoje em dia, numa residência onde moram quatro pessoas e que possui uma linha telefônica fixa, estima-se que no mínimo três destes moradores possuem telefone celular, ou seja, o número de telefones portáteis já superaram o número dos telefones residenciais. É interessante pensar nisso como um incentivo à programação Java, pois num mercado tão grande onde todas as pessoas fazem parte, cada dia que passa os telefones estão agregando mais funções além da básica, que é a conversação. Exitem aparelhos que tocam música, gravam sons, exibem vídeos, tiram fotos como câmeras, comunicam-se de alguma forma com um automóvel e assim vão evoluindo. Tais fatos mostram que a criatividade dos programadores não tem limite, descaracterizando até a função principal do aparelho. Nota-se também que a necessidade de fabricar novos telefones, com mais recursos, aparecem com essas novas funcionalidades. Tempos atrás a tendência era de reduzir o display dos aparelhos, para se tornarem mais compactos. Era uma mania a seguir. Mas atualmente, nota-se que o display está voltando ao seu tamanho anterior e o telefone está crescendo de novo. Aquela forma compacta já não suporta mais as necessidades dos programadores, já que todo telefone tem que ter câmera embutida para fazer sucesso no mercado. Isto foi um exemplo mostrando como o poder do programador afeta até as características externas do aparelho. A linguagem Java e o J2ME também deram oportunidade de pessoas ligadas a jogos trabalharem com o que gostam, pois o mercado de games de consoles e conseqüentemente o de celulares estão crescendo, igualando-se ao de cinema em questões de lucro. Pessoas fascinadas por jogos já podem criar os seus próprios utilizando a plataforma J2ME, isso com um pouco de estudo e dedicação. Programadores para esse tipo de aparelhos ainda são poucos comparando-se aos games voltados aos computadores e consoles. Esta é mais uma oportunidade a todos que desejam aventurar-se com o J2ME. Este trabalho teve por finalidade mostrar algumas características da plataforma Java 2 Micro Edition, sendo que muito ainda há a se aprender. O projeto mostrado aqui pode incentivar pessoas que queiram entrar neste mercado, pois com um pouco tem criatividade e muito estudo, novas idéias e invenções nascerão e certamente servirão de exemplo para futuros trabalhos. Tal projeto pode ser aprimorado e melhorado, futuramente os gastos com conexão com a Internet serão mais baixos e os telefones mais poderosos serão mais acessíveis, e quem sabe então ao invés de termos fotos no display, não teremos vídeo em tempo real...
40 31 8 REFERÊNCIAS BIBLIOGRÁFICAS TOPLEY, Kim. J2ME In a Nutshell. Março/2002. Disponível em - Acesso em 10/09/2004. CARNIEL, Juliano. TEIXEIRA, Clóvis. Apostila de J2ME Disponível em - Acesso em 10/09/2004. CORBERA, Rodrigo P. Garcia. Tutorial de programação J2ME Disponível em - Acesso em 10/09/2004. COSTA, Raimundo da. LINO, Franklin. CORREA, Olavo. LIMA, Elias Rodrigues de. Utilização da Tecnologia J2ME no Desenvolvimento de Aplicativos para Celulares e PDAs (Personal Digital Assistant). São Paulo/2003. Disponível em - Acesso em 10/09/2004. ALBUQUERQUE, Márcio. YBANEZ, Murilo. Curso de J2ME Disponível em - Acesso em 10/09/2004.
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:
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
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
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...
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
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 [email protected], [email protected] Resumo.
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava
Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br [email protected]
Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br [email protected] Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História
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.
Atualizaça o do Maker
Atualizaça o do Maker Prezados Clientes, Nós da Playlist Software Solutions empresa líder de mercado no desenvolvimento de software para automação de rádios - primamos pela qualidade de nossos produtos,
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
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
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
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 [email protected] http://www.ppgia.pucpr.br/~radtke/jogos/ AVISO IMPORTANTE!! Esta versão é dedicada exclusivamente
Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da
Java Laboratório Aula 1 Programação orientada a objetos Profa. Renata e Cristiane Introdução a Plataforma Java O que é Java? Tecnologia Linguagem de Programação Ambiente de Execução (JVM) Tudo isso é a
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
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
CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;
CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.
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
1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO
1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO
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
Í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
Instalando o Internet Information Services no Windows XP
Internet Information Services - IIS Se você migrou recentemente do Windows 95 ou 98 para o novo sitema operacional da Microsoft Windows XP, e utilizava antes o Personal Web Server, deve ter notado que
10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO
10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE
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.
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
Manual de Utilização
Manual de Utilização Versão 1.0 18/01/2013 Sempre consulte por atualizações deste manual em nossa página. O Cotação Web está em constante desenvolvimento, podendo ter novas funcionalidades adicionadas
Procedimentos para Reinstalação do Sisloc
Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...
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:...
Manual de Instalação. Windows XP. Desenvolvedores: Patrick Duarte, Rodrigo dos Santos. Setembro de 2014.
Manual de Instalação Windows XP Desenvolvedores: Patrick Duarte, Rodrigo dos Santos. Setembro de 2014. 1 SUMÁRIO OBJETIVO DO MANUAL:...03 REQUISITOS MÍNIMOS:...03 PROCESSO DE INSTALAÇÃO:...04 3.1 Documentos
Operador de Computador. Informática Básica
Operador de Computador Informática Básica Instalação de Software e Periféricos Podemos ter diversos tipos de software que nos auxiliam no desenvolvimento das nossas tarefas diárias, seja ela em casa, no
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
MANUAL DE CONFIGURAÇÃO DO BACKUP
SISTEMA DE AUTOMAÇÃO COMERCIAL MANUAL DE CONFIGURAÇÃO DO BACKUP Apresentação Após o término da instalação você deverá configurar o Backup para que você tenha sempre uma cópia de segurança dos seus dados
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 [email protected] RESUMO Engana-se quem acha
Java Básico. Aula 1 por Thalles Cezar
+ Java Básico Aula 1 por Thalles Cezar + Histórico Green Project (1991) Desenvolver plataforma para eletrodomésticos inteligentes Tentaram usar C++ Mas resolveram desenvolver uma linguagem própria Oak
Manual Captura S_Line
Sumário 1. Introdução... 2 2. Configuração Inicial... 2 2.1. Requisitos... 2 2.2. Downloads... 2 2.3. Instalação/Abrir... 3 3. Sistema... 4 3.1. Abrir Usuário... 4 3.2. Nova Senha... 4 3.3. Propriedades
ANDROID APPLICATION PROJECT
Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois
www.neteye.com.br NetEye Guia de Instalação
www.neteye.com.br NetEye Guia de Instalação Índice 1. Introdução... 3 2. Funcionamento básico dos componentes do NetEye...... 3 3. Requisitos mínimos para a instalação dos componentes do NetEye... 4 4.
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
Como funciona? SUMÁRIO
SUMÁRIO 1. Introdução... 2 2. Benefícios e Vantagens... 2 3. Como utilizar?... 2 3.1. Criar Chave / Senha de Usuário... 2 3.2. Recursos da Barra Superior... 2 3.2.1. Opções... 3 3.2.1.1. Mover Para...
Sistema de Chamados Protega
SUMÁRIO 1. INTRODUÇÃO... 3 2. REALIZANDO ACESSO AO SISTEMA DE CHAMADOS... 4 2.1 DETALHES DA PÁGINA INICIAL... 5 3. ABERTURA DE CHAMADO... 6 3.1 DESTACANDO CAMPOS DO FORMULÁRIO... 6 3.2 CAMPOS OBRIGATÓRIOS:...
Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4.
1 Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. Interface do sistema... 4 1.4.1. Janela Principal... 4 1.5.
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
RASTREIE SEU NOTEBOOK (FURTADO OU ROUBADO) INTERNET
Veja nesse tutorial vamos aprender como instalar o aplicativo gratuito Prey e como realizar o rastreamento de seu computador (netbook, notebook, desktop). Prey é uma aplicativo que você instala em sua
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
CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS
CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS Servidor: O servidor é todo computador no qual um banco de dados ou um programa (aplicação) está instalado e será COMPARTILHADO para outros computadores,
INTRODUÇÃO AO WINDOWS
INTRODUÇÃO AO WINDOWS Paulo José De Fazzio Júnior 1 Noções de Windows INICIANDO O WINDOWS...3 ÍCONES...4 BARRA DE TAREFAS...5 BOTÃO...5 ÁREA DE NOTIFICAÇÃO...5 BOTÃO INICIAR...6 INICIANDO PROGRAMAS...7
UMA ABORDAGEM SOBRE J2ME
UMA ABORDAGEM SOBRE J2ME Júlio César Jardim Júnior 1, Elio Lovisi Filho (Orientador) 1 1 Ciência da Computação Universidade Presidente Antônio Carlos (UNIPAC) Rua Palma Bageto Viol, s/n Barbacena - MG.
Configurando o DDNS Management System
Configurando o DDNS Management System Solução 1: Com o desenvolvimento de sistemas de vigilância, cada vez mais usuários querem usar a conexão ADSL para realizar vigilância de vídeo através da rede. Porém
Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI
Manual de Utilização Família MI ÍNDICE 1.0 COMO LIGAR O MÓDULO... pág 03 e 04 2.0 OBJETIVO... pág 05 3.0 COMO CONFIGURAR O MÓDULO MI... pág 06, 07, 08 e 09 4.0 COMO TESTAR A REDE... pág 10 5.0 COMO CONFIGURAR
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
Sistemas Operacionais
Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos
Versão 1.0 09/10. Xerox ColorQube 9301/9302/9303 Serviços de Internet
Versão 1.0 09/10 Xerox 2010 Xerox Corporation. Todos os direitos reservados. Direitos reservados de não publicação sob as leis de direitos autorais dos Estados Unidos. O conteúdo desta publicação não pode
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
Celebre este natal e ano novo junto aos seus amigos e familiares distantes.
Celebre este natal e ano novo junto aos seus amigos e familiares distantes. Receba fotos e mensagens deles na TV de sua casa em tempo real e sem custo, não se preocupe mais com a distância! A festa será
Daruma NFCe Conheça todos os passos para testar a NFCe Daruma
Pré-requisitos Mini Impressora Daruma versão 02.50.02 ou superior. Cadastro no servidor de Testes Daruma NFCe Conheça todos os passos para testar a NFCe Daruma Adquirir Mini Impressora a preço subsidiado
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.
DarkStat para BrazilFW
DarkStat para BrazilFW ÍNDICE Índice Página 1 O que é o DarkStat Página 2 DarkStat e a inicialização do sistema Página 2 DarkStat e a finalização do sistema Página 2 Tela Principal do DarkStat Página 3
1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez
Manual Conteúdo 1- Requisitos mínimos... 2 2- Instalando o Acesso Full... 2 3- Iniciando o Acesso Full pela primeira vez... 2 4- Conhecendo a barra de navegação padrão do Acesso Full... 3 5- Cadastrando
Computação Móvel J2ME
Computação Móvel J2ME Java 2 Platform (1) Java 2 Standard Edition (J2SE) Desktop applications Java 2 Enterprise Edition (J2EE) Server applications Java 2 Micro Edition (J2ME) Handheld/embedded devices
Kerio Exchange Migration Tool
Kerio Exchange Migration Tool Versão: 7.3 2012 Kerio Technologies, Inc. Todos os direitos reservados. 1 Introdução Documento fornece orientações para a migração de contas de usuário e as pastas públicas
TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!
UNIVERSIDADE DE SÃO PAULO (USP) ESCOLA DE ARTES, CIÊNCIAS E HUMANIDADES (EACH) TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH! Autoria e revisão por: PET Sistemas
MDaemon GroupWare. Versão 1 Manual do Usuário. plugin para o Microsoft Outlook. Trabalhe em Equipe Usando o Outlook e o MDaemon
MDaemon GroupWare plugin para o Microsoft Outlook Trabalhe em Equipe Usando o Outlook e o MDaemon Versão 1 Manual do Usuário MDaemon GroupWare Plugin for Microsoft Outlook Conteúdo 2003 Alt-N Technologies.
Manual de Instalação do Agente Citsmart
16/08/2013 Manual de Instalação do Agente Citsmart Fornece orientações necessárias para efetuar a instalação do Agente Citsmart. Versão 1.9 21/11/2014 Visão Resumida Data Criação 21/11/2014 Versão Documento
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
Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20
Guia de utilização Índice Introdução... 3 O que é o sistema BlueTalk... 3 Quem vai utilizar?... 3 A utilização do BlueTalk pelo estagiário do Programa Acessa Escola... 5 A arquitetura do sistema BlueTalk...
Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade
do Sistema Índice Página 1. Como acessar o sistema 1.1 Requisitos mínimos e compatibilidade 03 2. Como configurar o Sistema 2.1 Painel de Controle 2.2 Informando o nome da Comissária 2.3 Escolhendo a Cor
Sistema de Instalação e Criação da Estrutura do Banco de Dados MANUAL DO INSTALADOR. Julho/2007. Ministério da saúde
Sistema de Instalação e Criação da Estrutura do Banco de Dados MANUAL DO INSTALADOR Julho/2007 Ministério da saúde SUMÁRIO Módulo 1. Instalação... 4 Introdução... 4 Configurações de equipamentos para instalação
Capture Pro Software. Introdução. A-61640_pt-br
Capture Pro Software Introdução A-61640_pt-br Introdução ao Kodak Capture Pro Software e Capture Pro Limited Edition Instalando o software: Kodak Capture Pro Software e Network Edition... 1 Instalando
BlackBerry Mobile Voice System
BlackBerry Mobile Voice System Comunicações móveis unificadas O BlackBerry Mobile Voice System (BlackBerry MVS) leva os recursos do telefone do escritório aos smartphones BlackBerry. Você pode trabalhar
1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.
1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar
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
ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL
Documento: Tutorial Autor: Iuri Sonego Cardoso Data: 27/05/2005 E-mail: [email protected] Home Page: http://www.scripthome.cjb.net ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL
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
Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico
Fundamentos de Java Prof. Marcelo Cohen 1. Histórico 1990 linguagem Oak; desenvolvimento de software embutido para eletrodomésticos S.O. para o controle de uma rede de eletrodomésticos o surgimento da
Sumário INSTALAÇÃO DO SIATRON CONDOMÍNIO ATIVAÇÃO DA LICENÇA PRESTADORES DE SERVIÇOS PARÂMETROS DO SISTEMA
Sumário INSTALAÇÃO DO SIATRON CONDOMÍNIO ATIVAÇÃO DA LICENÇA SIATRON SÍNDICO LOGIN NO SISTEMA FAMÍLIA MORADORES VEÍCULOS FUNÇÃO PÂNICO PRESTADORES DE SERVIÇOS PARÂMETROS DO SISTEMA CONFIGURAÇÕES ACORDA
Um Driver NDIS Para Interceptação de Datagramas IP
Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva [email protected] Sérgio Stringari [email protected] Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para
Tutorial - DVD Flick
Centro Municipal de Estudos e Projetos Educacionais Julieta Diniz Av. Prof. José Inácio de Souza, 1958 B. Brasil Uberlândia/MG CEP 38400-732 (34) 3212-4363 / Fax 3211-6859 [email protected] /[email protected],gov.br
CONFIGURAÇÃO MINIMA EXIGIDA:
Este tutorial parte do princípio que seu usuário já possua conhecimentos básicos sobre hardware, sistema operacional Windows XP ou superior, firewall, protocolo de rede TCP/IP e instalação de software.
e-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Controladoria-Geral da União
e-ouv Passo-a-passo Sistema de Ouvidorias do Poder Executivo Federal Junho, 2015 Sumário 1. Acesso ao sistema... 3 2. Funcionalidades do sistema... 5 3. Como tratar manifestações... 14 3.1 Detalhar...
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
Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
b 1 Copyright 2008-2012 In9 Mídia Soluções Digitais Inc. All rights reserved.
b 1 Conteúdo Capítulo 1... 3 Instalando o Neonews... 3 Neonews no Linux... 6 Capítulo 2... 7 Configurando o NeoNews... 7 Capítulo 3... 13 Teclas de Atalho do NeoNews Player... 13 2 Capítulo 1 Instalando
OneDrive: saiba como usar a nuvem da Microsoft
OneDrive: saiba como usar a nuvem da Microsoft O OneDrive é um serviço de armazenamento na nuvem da Microsoft que oferece a opção de guardar até 7 GB de arquivos grátis na rede. Ou seja, o usuário pode
E&L Protocolo, Documentos Eletrônicos e Processos Perguntas Frequentes
E&L Protocolo, Documentos Eletrônicos e Processos Perguntas Frequentes 1. É possível excluir um processo que já foi enviado? Só será possível excluir o processo se o mesmo ainda não tiver sido recebido.
Passo 3: Posicionando a Câmera na Prova Didática Teórica ou na Prova de Defesa da Produção Intelectual
Este manual descreve um procedimento para o registro de Concursos Públicos por meio de áudio e vídeo utilizando-se recursos tecnológicos básicos i. A gravação segue o disposto na Resolução 020/09 da UFSM
APOSTILA LINUX EDUCACIONAL
MUNICÍPIO DE NOVO HAMBURGO DIRETORIA DE INCLUSÃO DIGITAL DIRETORIA DE GOVERNO ELETRÔNICO APOSTILA LINUX EDUCACIONAL (Conteúdo fornecido pelo Ministério da Educação e pela Pró-Reitoria de Extensão da UNEB)
Aula 03 - Projeto Java Web
Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação
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...
GUIA INTEGRA SERVICES E STATUS MONITOR
GUIA INTEGRA SERVICES E STATUS MONITOR 1 - Integra Services Atenção: o Integra Services está disponível a partir da versão 2.0 do software Urano Integra. O Integra Services é um aplicativo que faz parte
Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados
Tutorial Plone 4 Manutenção de Sites Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados Sumário Introdução 1 Como fazer a autenticação do usuário 1.1 Através do
Manual SAGe Versão 1.2 (a partir da versão 12.08.01)
Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação
UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO
www.origy.com.br UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO CARACTERÍSTICAS: E-MAIL IMAP * Acesso simultâneo e centralizado, via aplicativo, webmail e celular/smartphone * Alta capacidade de armazenamento
Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Manual de Utilização do Zimbra
Manual de Utilização do Zimbra Compatível com os principais navegadores web (Firefox, Chrome e Internet Explorer) o Zimbra Webmail é uma suíte completa de ferramentas para gerir e-mails, calendário, tarefas
