Instituto Superior de Engenharia do Porto

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

Download "Instituto Superior de Engenharia do Porto"

Transcrição

1 Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática Tecnologia Java Aplicada a Telemóveis Trabalho realizado no âmbito da disciplina de Projecto, do 5º ano da licenciatura de engenharia informática. Aluno: José Filipe Soeiro Teixeira Orientador: Eng.º Luís Pinho Porto, 2003

2 Tecnologia Java aplicada a telemóveis II

3 Tecnologia Java Aplicada a Telemóveis Realizado por: José Filipe Soeiro Teixeira Orientador ISEP: Eng.º Luís Pinho Data de realização: Agosto, 2003 III

4 Tecnologia Java aplicada a telemóveis IV

5 Índice ÍNDICE...V AGRADECIMENTOS...VII 1. INTRODUÇÃO TELEMÓVEIS E TECNOLOGIA AUDIO Sons polifónicos Leitores de MP VÍDEO Captura de Imagens Display MEMÓRIA SOFTWARE Exemplos Suporte JAVA CONCEITOS BÁSICOS A linguagem de programação A plataforma J2SE / J2EE / JAVA CARD J2ME Arquitectura do J2ME Configuração Perfil Connected Limited Device Configuration CLDC Java Virtual Machine Virtual Machine e especificações de linguagem Carregamento de classes Considerações de segurança Compilar e correr código com KVM O Mobile Information Device Profile e MIDlets MIDP Requisitos de hardware do MIDP Requisitos de software do MIDP A plataforma MIDP MIDlets e MIDlet suites Segurança nas MIDlets MIDlet packaging Ciclo de vida e ambiente de execução das MIDlets ALTERNATIVAS AO J2ME EXECUTION ENGINE (EXEN) MOPHUN WIRELESS GRAPHICS ENGINE (WGE) BINARY RUNTIME ENVIRONMENT FOR WIRELESS (BREW) SYMBIAN OS...56 V

6 Tecnologia Java aplicada a telemóveis 5. QUESTÕES FUNDAMENTAIS AO DESENVOLVIMENTO PARA TELEMÓVEIS MEMÓRIA PROCESSADOR DISPLAY SOM INPUT SEGURANÇA FUNCIONALIDADE INSTALAÇÃO FERRAMENTAS PARA O DESENVOLVIMENTO DE APLICAÇÕES J2SE SDK J2ME WIRELESS TOOLKIT Default Device Selection Documentation KToolbar OTA Provisioning Preferences Run MIDP Application Utilities EDITOR JAVA DESENVOLVIMENTO HELLO WORLD PRINCÍPIOS BÁSICOS DESENVOLVIMENTO DE UMA MIDLET CONCLUSÃO BIBLIOGRAFIA ANEXO ÍNDICE DE FIGURAS ÍNDICE DE TABELAS VI

7 Agradecimentos Existem algumas pessoas sem as quais não teria sido possível a realização deste projecto e, por isso, merecem um especial agradecimento. Quero agradecer em primeiro lugar à minha Mãe e à minha Avó (adorovos) que, apesar de infelizmente, já não estarem entre nós, sempre me apoiaram no decurso deste projecto e, de certeza, ainda estão comigo. Quero também agradecer ao meu Pai (também te adoro) que me apoiou em tudo, especialmente nos momentos mais difíceis. Um agradecimento especial à Ana, que está sempre comigo e me aturou durante este tempo todo (um enorme beijinho para ti!). Um abraço para os meus amigos, com quem posso contar para tudo! Obrigado Samuel (pelas ideias), Rui Les Matos, Wilson Bizu Carvalho, Nuno Presi Soares, Ana Timon Azevedo, Aníbal Flintstone Couto, Luís Viagra Leal, Leandro Julieta Castro, Daniel Spielberg Martinho, Victor, Romeu, Mário, Nuno e o resto do pessoal do ISEP que me apoiou e, mesmo não notando, ajudou à realização deste projecto. Quero agradecer também ao meu orientador Luís Pinho que foi uma ajuda fundamental em todas as formalidades necessárias ao sucesso deste projecto. Para finalizar, como de certeza que me esqueci de alguém, quero agradecer a essa pessoa e pedir desculpa pelo esquecimento. Obrigado! Este projecto é dedicado à minha Mãe e à minha Avó. VII

8 Tecnologia Java aplicada a telemóveis VIII

9 1. Introdução Nestes últimos anos, tem-se vindo a observar uma enorme evolução no campo das novas tecnologias, nomeadamente na área das telecomunicações. O aparecimento do telemóvel foi revolucionário, e alterou radicalmente o modo de estar e de pensar de milhares de pessoas que possuem e até dependem deste pequeno aparelho. Desde a viragem do milénio, o telemóvel tem evoluído a uma velocidade estonteante e é agora muito mais do que um simples meio de comunicação. Os grandes telefones portáteis com um pequeno visor monocromático onde apenas se escreviam números, transformaram-se em pequenos aparelhos dotados de uma grande capacidade de memória, destinados às mais diversas operações, desde captura de imagens ou filmes, até leitores de MP3 e, mais recentemente, consola de jogos. O telemóvel é agora uma ferramenta de trabalho e lazer com grandes potencialidades, para a qual se consegue antever um futuro muito promissor. Porém, uma grande evolução tecnológica tem que ser acompanhada por uma evolução a nível de software de modo a que seja possível tirar partido de todas as capacidades desta nova ferramenta de trabalho. O recente aparecimento de telemóveis que suportam linguagens de programação de alto nível, nomeadamente Java, vem fundamentar esta teoria. Este suporte vem alargar consideravelmente as potencialidades deste aparelho. Novos programas ou jogos podem ser desenvolvidos e facilmente inseridos no telemóvel. Em comparação com outros aparelhos portáteis como PDAs ou consolas de jogos, o telemóvel tem inúmeras vantagens. As pessoas habituaram-se a levar o telemóvel para todo o lado, ao contrário do que acontece com outros dispositivos e, por isso, é muito mais confortável ter todas as funcionalidades necessárias aí incluídas. Num futuro próximo, qualquer pessoa poderá consultar a sua agenda, navegar na internet ou jogar um jogo, enquanto toma café ou espera numa fila, apenas utilizando o seu telemóvel que anda sempre consigo. O objectivo deste documento é dar a conhecer o estado actual das tecnologias móveis de comunicação, as suas verdadeiras potencialidades e o modo de as explorar. Só através do conhecimento das tecnologias e desenvolvimento de software é possível tirar partido das funcionalidades que os telemóveis têm actualmente para oferecer. Ao longo deste documento, no capítulo 2 irão ser ilustradas as características principais dos telemóveis mais actuais, como capacidade de memória, número de cores ou resolução suportada. No capítulo 3 será abordada a linguagem Java como linguagem principal para o desenvolvimento de aplicações destinadas a este tipo de plataformas móveis. Neste capítulo, será feita uma distinção entre a linguagem Java normal (J2SE), que é utilizada em inúmeras aplicações para computador, e a sua versão micro que se destina a plataformas móveis, como é o caso dos telemóveis. 1

10 Tecnologia Java aplicada a telemóveis No capítulo 4, será feita uma breve referência a outras linguagens existentes que, em alternativa ao J2ME, também podem ser utilizadas para desenvolver aplicações destinadas a telemóveis. O 5º capítulo faz uma abordagem a algumas questões fundamentais que o programador deve ter em conta quando programa para esta plataforma. Mais adiante, no capítulo 6, será feita uma análise ás ferramentas necessárias para o desenvolvimento de aplicações em J2ME para telemóveis. É importante conhecer as aplicações utilizadas, de modo a optimizar e toda a fase de desenho e programação de aplicações. Por fim, no capítulo 7, será descrito passo a passo todo o processo de desenvolvimento de uma pequena aplicação J2ME (jogo), desde a sua criação utilizando as ferramentas adequadas, até à sua instalação, passando por diversos exemplos de codificação das características mais importantes de uma aplicação deste tipo. Todo o código referente à aplicação desenvolvida no capítulo 7, será disponibilizado em anexo. 2

11 2. Telemóveis e tecnologia Actualmente quando alguém quer comprar um telemóvel tem uma enorme variedade de marcas e modelos à escolha, cada um com características diferentes desde o seu formato, até à sua memória ou número de cores do ecrã. A gama de telemóveis varia desde o mais barato que serve apenas para telefonar e escrever mensagens (Nokia 3310,...) até ao mais caro, topo de gama com câmara de vídeo incorporada, ecrã a cores, Bluetooth e suporte para linguagens de programação de alto nível, como J2ME (Nokia 3650,...). Os telemóveis mais actuais disponibilizam um enorme leque de capacidades para uso do consumidor. Agora, para além de comunicar, é possível gravar vídeo e tirar fotografias com o telemóvel, navegar na internet, ouvir música ou mesmo jogar. Estas são algumas das tecnologias mais recentes que se podem encontrar nos telemóveis: 2.1.Audio A componente audio dos telemóveis foi a primeira a ser explorada. Desde já há algum tempo que os telemóveis têm variados tipos de toques para todos os gostos. No entanto, a evolução a este nível continua e, nos últimos anos, apareceram os toques polifónicos e os leitores de MP Sons polifónicos Esta tecnologia permite aos telemóveis um nível sonoro bastante melhorado. Isto é possível através do uso de 16, 32 ou mais canais em vez de apenas 1, como acontece nos telemóveis mais antigos. Deste modo, é possível ouvir o som de diversos instrumentos diferentes ao mesmo tempo, elevando assim a sua qualidade. É importante ter em conta este facto quando se programa para um telemóvel. No caso da criação de um jogo (que é actualmente o mais habitual...), é possível separar a musica de fundo dos efeitos sonoros. Aqui está uma lista de telemóveis que suportam toques polifónicos: Marca Modelos Motorola C330, C350, T720I,... Nokia 3510, 3650, 5100, 7650,... Panasonic GD700, GD87, GU87,... Samsung SGH-X400(40), SGH-V200(40),... Sony Ericsson P800, T310(32), T610(32),... Tabela Toques Polifónicos

12 Tecnologia Java aplicada a telemóveis Leitores de MP3 Por outro lado, temos os telemóveis que funcionam como leitor de MP3. Nestes aparelhos, é possível armazenar uma quantidade variável de musicas no formato MP3, dependendo da qualidade de gravação e da memória do aparelho Vídeo Esta componente só há relativamente pouco tempo é que começou a sofrer alterações. Inicialmente, um telemóvel servia apenas para telefonar e continha um visor monocromático, o que era suficiente para as suas funcionalidades. Actualmente já não é bem assim... Quando se fala da componente vídeo num telemóvel, fala-se de captura de vídeo ou imagens, e da resolução, tamanho e número de cores suportadas pelo ecrã. Estas são características cada vez mais importantes a ter em consideração, quando se pensa em adquirir um telemóvel Captura de Imagens No que diz respeito à captura de imagens, não se pode considerar um factor de muita importância para a programação, pois a maioria dos programas não necessita de câmara digital. De qualquer forma, a lista que se segue indica alguns dos telemóveis mais recentes que suportam esta tecnologia. Marca Modelo Tipo de câmara Resolução Captura de vídeo Nokia 7650 Incorporada 640x480 Sim (por software) Nokia 3650 Incorporada 640x480 Sim Nokia 6600 Incorporada 640x480 Sim Nokia 6650 Incorporada 640x480 Sim Panasonic GU87 Incorporada 132x176 Não Samsung SGH-V200 Incorporada 640x480 Não Siemens SL55 Incorporada 640x480 Não Sony Ericsson T310, Como 640x480 Não T300 acessório Sony Ericsson T610 Incorporada 288x352 Não Sony Ericsson P800 Incorporada 640x480 Não Tabela Captura de imagens/vídeo Note-se porém, que a programação destinada a este tipo de plataformas moveis está ainda a dar os primeiros passos e tudo indica que futuramente se faça uso das capacidades de captura de vídeo para o desenvolvimento de programas, por exemplo, de videoconferência ou até mesmo de entretenimento. 4

13 Telemóveis e tecnologia A grande popularidade das câmaras digitais nos telemóveis, irá certamente despertar o interesse de muitos programadores que tentarão tirar o melhor partido desta tecnologia Display Este é um dos factores mais importantes a ter em conta quando se programa para um telemóvel. É necessário ter em atenção a resolução, o tamanho do ecrã e mesmo a quantidade de cores suportada varia, o que quer dizer que um determinado programa pode funcionar apenas num determinado modelo de telemóveis, ou pode ser mais genérico e adaptar-se a um leque mais variado de modelos. Actualmente a grande maioria dos programas desenvolvidos para telemóveis são jogos, e como tal, possuem uma elevada componente visual. O grafismo deste tipo de aplicações é muito importante e, se por um lado um jogo fica melhor quando desenvolvido para uma mais alta resolução e um elevado número de cores, por outro lado, isto pode limitar a sua compatibilidade e restringi-lo a um ou dois modelos disponíveis no mercado. Segue-se uma lista das características do display de alguns dos telemóveis mais recentes. Marca Modelo Resolução Cores Nokia N-Gage 176x208 px 4,096 Nokia x208 px 4,096 Nokia x208 px 65,536 Nokia x208 px 4,096 Nokia x128 px 4,096 Nokia x128 px 4,096 Panasonic GU87 132x176 px 65,536 Panasonic X70 132x176 px 65,536 Samsung SGH-X x160 px 65,536 Samsung SGH-V x160 px 65,536 Samsung SGH-C x128 px 65,536 Samsung SGH-S x144 px 65,536 Samsung SPH-N x160 px 65,536 Samsung SPH-A x160 px 4,096 Siemens SL55 101x80 px 4,096 Sony Ericsson T x80 px 256 Sony Ericsson T x160 px 65,536 Sony Ericsson P x320 px 4,096 Tabela Características do display Desta extensa lista, presta-se especial atenção ao Nokia N-Gage que se apresenta não só como um telemóvel mas, principalmente, como uma consola de jogos, tendo já feito referência a alguns jogos de nome já conhecido ( Tomb Raider, Sonic,...) desenvolvidos pela Sega especialmente para o N-Gage. 5

14 Tecnologia Java aplicada a telemóveis 2.3. Memória Outra característica muito importante a ter em conta é a memória disponível no telemóvel, para os programas desenvolvidos. Actualmente, estes aparelhos possuem uma memória muito escassa o que dificulta a programação e limita a qualidade dos programas. Por isso, é necessário ter em consideração a capacidade de memória do telemóvel para o qual se pretende desenvolver uma aplicação. Existem três tipos de memória a ter em atenção: a memória de armazenamento, a memória de execução e o tamanho máximo dos ficheiros JAR. Memória de armazenamento - A memória de armazenamento limita o tamanho máximo disponível para o programa. Esta é a memória onde o programa desenvolvido fica alojado. Alguns telemóveis suportam o uso de cartões de memória externos para aumentar a sua capacidade. Memória de execução Esta é a memória utilizada em tempo de execução por uma aplicação, ou seja, é a capacidade máxima de memória que uma aplicação pode utilizar durante a sua execução. Ficheiros JAR Esta memória define o tamanho máximo suportado para os ficheiros JAR. Note-se que um ficheiro JAR é um ficheiro comprimido que contém código e é muitas vezes utilizado como forma de reduzir o tamanho de uma aplicação, o que é muito útil no caso da programação para este tipo de suporte. As capacidades de memória de alguns dos telemóveis mais propícios ao desenvolvimento de programas, encontram-se na seguinte tabela: Marca Modelo Armazenamento Execução Ficheiros JAR Nokia N-Gage 4MB+MMC (memory cards) 2.8MB 4MB Nokia MB 1.4MB 4MB Nokia MB+MMC 3MB (não disponível) Nokia MB+MMC 1.4MB 4MB Nokia MB 200KB 64KB Nokia KB 200KB 64KB Tabela Capacidades de memória Embora seja fundamental que um programador saiba as características de memória do telemóvel para o qual se destina uma aplicação a ser desenvolvida, está é ainda uma informação de difícil acesso. Deste modo, só foi possível obter as características de memória, relativas aos telemóveis Nokia, disponibilizadas no site da marca Software O software criado para telemóveis encontra-se actualmente numa fase ainda inicial de desenvolvimento. No entanto, tem-se notado uma rápida evolução neste campo. Todos os dias surgem novos programas destinados a estas plataformas e cada vez mais programadores interessados por esta tecnologia. 6

15 Telemóveis e tecnologia Existem actualmente diversas plataformas de programação suportadas pelos telemóveis mais recentes, sendo o Java a mais popular e, quando se fala em Java para telemóveis, fala-se em jogos e programas ligados à área de entretenimento. A verdade é que a grande maioria do software que se pode inserir num telemóvel são jogos, desenvolvidos quer por grandes empresas, quer por programadores independentes. Já na industria da informática, os jogos ocupam um lugar de destaque e representam uma parcela considerável das vendas e dos lucros, no que diz respeito a software. Daqui se pode concluir que as novas tecnologias não são só uma ferramenta de trabalho, mas também um instrumento de lazer para que se possa fugir do stresse do dia-a-dia. É por isso natural que nos telemóveis, a área do entretenimento prospere ainda mais. Se pelo ponto de vista do utilizador os jogos são mais apelativos e um óptimo meio para descontrair, para a grande parte dos programadores, desenvolver um jogo é mais motivante e vende-se melhor. Também à semelhança do que acontece com os computadores pessoais, são os jogos que vão tirar o máximo partido de todas as capacidades do aparelho. São estes programas que vão combinar uma elevada resolução de imagem com uma boa qualidade sonora, o que dá a conhecer ao utilizador todas as capacidades do seu telemóvel, e permite ao programador, usar as mais recentes tecnologias no desenvolvimento de aplicações. Além disso, a utilidade de outro tipo de ferramentas num telemóvel, como uma folha de cálculo, uma base de dados ou um processador de texto, é bastante questionável. O aparecimento de alguns modelos de telemóveis como o SGH- X400 da Samsung e o N-Gage da Nokia vêm reforçar a ideia de que os jogos têm uma crescente importância neste meio. O N-Gage, mais do que um telemóvel é já considerado uma consola capaz até de rivalizar num futuro próximo com o já conhecido Game Boy. Para este caso, a Nokia Figura Nokia N-Gage assumiu uma parceria com a Sega que produzirá jogos de grande qualidade ( Sonic, Tomb Raider,...) para esta consola/telemóvel. Em seguida, serão mostrados alguns exemplos de software que se pode obter para as diversas plataformas suportadas pelos telemóveis mais recentes. 7

16 Tecnologia Java aplicada a telemóveis Exemplos Figura Imagens de Dragon Island Título: Dragon Island Desenvolvido por: Macrospace Tipo: Jogo Plataforma: J2ME Memória: 65K Preço: 3,00 Telemóveis: Nokia 7650, 3650, 6800, 5100,...; Siemens SL55;... Comentário: Este é um dos mais recentes jogos desenvolvidos para a plataforma J2ME. Como pode ser visto nas imagens, foi feito um bom aproveitamento das 4,096 cores utilizadas, o que também torna este jogo compatível com um maior número de telemóveis. Aqui está um bom exemplo do que se consegue desenvolver para um telemóvel. Figura Imagens de XFinity Título: XFinity Desenvolvido por: Synergenix Tipo: Jogo Plataforma: Mophun Memória: 118K Preço: 5,00 Telemóveis: Sony Ericsson T300, T310,... Comentário: Este é um exemplo de uma aplicação desenvolvida sobre a plataforma Mophun. A qualidade mantêm-se bastante boa e, existe bastante suporte para Mophun, quer em termos de software disponível, quer em termos de telemóveis. Note-se que este é um jogo mais caro, e ocupa bastante mais memória. 8

17 Telemóveis e tecnologia Título: Hurricane Space Fighters Desenvolvido por: TTPCom Tipo: Jogo Plataforma: WGE Memória: Não disponível Preço: Não Disponível Telemóveis: Innostream I- 1000,... Figura Imagens de Hurricane Space Fighters Comentário: Aqui temos uma plataforma que demonstra possuir grandes potencialidades mas, encontrar uma aplicação desenvolvida para Wireless Graphics Engine, revela-se uma tarefa quase impossível. Além da falta de software, existem ainda poucos telemóveis a suportar WGE. Título: Crash Bandicoot Desenvolvido por: In-Fusio Tipo: Jogo Plataforma: ExEn Memória: Não disponível Preço: Não Disponível Telemóveis: Panasonic GD67, GD87,... Comentário: O Execution Engine (ExEn) revela-se uma plataforma capaz de produzir bons resultados. Apesar disso, existe alguma dificuldade de encontrar Figura Imagens de Crash Bandicoot software desenvolvido para ExEn. Também se nota alguma escassez de telemóveis a suportar esta plataforma. Título: Fantom Overdrive Desenvolvido por: Overloaded Tipo: Jogo Plataforma: Symbian OS Memória: 581K Preço: 5,95 Telemóveis: Nokia 3650, 7650, Sony Ericsson P800,... Comentário: Embora não tenha a popularidade do Java, a plataforma Symbian possui já bastante software disponível, com uma boa qualidade. Além disso, existe já uma vasta gama de telemóveis com este suporte. Figura Imagens de Fantom Overdrive 9

18 Tecnologia Java aplicada a telemóveis Suporte Um dos principais aspectos a ter em conta quando se pretende desenvolver uma aplicação para uma determinada plataforma, é o suporte disponibilizado. Antes de se começar a desenvolver, é necessário saber que telemóveis suportam as diversas plataformas existentes, de forma a fazer a opção mais adequada. Aqui está uma pequena lista de telemóveis que suportam as diversas tecnologias. Marca Modelo Plataformas Fujitsu F2051 J2ME, Symbian Innostream I-1000 WGE Motorola V600 J2ME Motorola T725 J2ME Nokia N-Gage J2ME, Symbian Nokia 7650 J2ME, Symbian Nokia 6600 J2ME, Symbian Nokia 3650 J2ME, Symbian Nokia 6800 J2ME Nokia 5100 J2ME Panasonic GU87 ExEn Panasonic X70 J2ME, ExEn Sagem my G-5 ExEn Sagem my X-5 ExEn Samsung SGH-X400 J2ME Samsung SGH-V200 J2ME Samsung SGH-C100 J2ME Samsung SGH-S200 J2ME Siemens SL55 J2ME Siemens U10 J2ME Sony T310 Mophun Ericsson Sony T610 J2ME, Mophun Ericsson Sony Ericsson P800 J2ME, Symbian Tabela 2. 5 Tecnologias suportadas Como se pode observar, o Java ocupa actualmente a maior parcela de mercado, comparativamente com outras plataformas de programação. 10

19 3. Java Actualmente os telemóveis de ultima geração, associam-se à tecnologia Java, mesmo que não se saiba exactamente o que isso é. A grande quantidade de publicidade feita a esta plataforma tem resultado e, para comprovar, pode-se observar a crescente importância do Java na área das comunicações móveis, e a quantidade de software e suporte existente para esta tecnologia. As campanhas publicitárias feitas aos telemóveis já nos habituaram à palavra Java, falando insistentemente de jogos Java e tecnologia Java, de tal maneira que quando se vai comprar um telemóvel, é normal perguntar ao vendedor: Este modelo suporta Java? Muitas das vezes a resposta é afirmativa e o cliente vai para casa satisfeito por ter adquirido um telemóvel que até ficou um pouco mais caro mas suporta Java. No entanto, a verdadeira pergunta é: Mas afinal o que é o Java? E qual é a vantagem de ter Java no telemóvel? Este documento é destinado pessoas que já possuem algum conhecimento na área da programação e, certamente já estão familiarizados com o conceito Java como linguagem de programação mas, de qualquer maneira existem algumas diferenças quando se programa nesta linguagem para plataformas móveis. Neste capítulo, irá ser feita uma breve referência à linguagem Java e à sua utilização em telemóveis. Quem tenciona desenvolver uma aplicação destinada às mais recentes tecnologias móveis usando esta plataforma deve, em primeiro lugar, saber as características e o modo de funcionamento desta linguagem de programação, em particular da sua versão Micro que se destina exactamente a máquinas com baixa capacidade de memória e processamento (telemóveis).

20 Tecnologia Java aplicada a telemóveis 3.1 Conceitos básicos O Java é um ambiente de programação que combina uma plataforma específica com uma linguagem de alto nível, muito prática e funcional A linguagem de programação O Java é uma linguagem de programação de alto nível, orientada ao objecto e de fácil compreensão. Esta linguagem possui determinadas características que a tornam muito apetecível para programadores que trabalham sobre qualquer plataforma. Podemos então definir o Java como uma linguagem de programação que se distingue pelas seguintes características: Simples O Java é uma linguagem simples e não necessita de treino extensivo de programação para que se consiga obter resultados. Os conceitos básicos do Java são facilmente apreendidos e as ferramentas são intuitivas e facilitam o trabalho do programador. Orientada ao objecto O Java adopta o conceito de objecto, para facilitar e organizar todo o processo de programação. O código passa a ser encapsulado e reutilizável, podendo abstrair o programador de funções mais complexas ou permitir o uso de objectos já desenvolvidos. Podem ser utilizadas librarias externas com código já desenvolvido bem como quaisquer outros objectos que possam ser úteis para a programação de uma aplicação. Arquitectura neutra O Java foi desenhado de forma a poder interagir com diversos sistemas, com diversas arquitecturas distintas e heterogéneas. Para que isto seja possível e para que seja independente da plataforma utilizada, o compilador Java compila o código desenvolvido para uma arquitectura intermédia denominada byte codes, neutra e independente, destinada a transportar o código eficientemente entre diferentes plataformas de hardware e software. Portável A arquitectura neutra utilizada pelo Java, torna-o numa linguagem altamente portável e compatível com diferentes tipos de máquinas ou software. Cada máquina (plataforma) é responsável pela interpretação do código de byte codes, através de uma Java Virtual Machine (JVM). Assim sendo o código desenvolvido em Java pode correr em qualquer plataforma desde que esta possua uma JVM. Distribuída Devido à sua grande portabilidade, o Java consegue estabelecer comunicação entre diversas plataformas distintas o que a torna ideal para a programação distribuída. 12

21 Java Interpretada O Interpretador Java pode executar byte codes em qualquer máquina para a qual tenha sido portado o sistema. Por outras palavras, num sistema interpretado, como é o caso do Java, a fase de linkagem do programa é simples, incremental e de baixo processamento, tornando os ciclos de desenvolvimento mais rápidos, comparativamente a outras linguagens. Robusta Esta linguagem de programação foi criada tendo em vista o desenvolvimento de software robusto e de confiança. São efectuadas diversas verificações durante as fases de desenvolvimento, compilação e em execução. Além disso, a gestão de memória é encapsulada, feita implicitamente pelo Java, diminuindo drasticamente os erros e facilitando a sua gestão. Um programador pode desenvolver uma aplicação com a confiança de que quaisquer erros serão rapidamente encontrados e resolvidos. Segura O Java foi desenhado para operar em ambientes distribuídos, por isso, foi prestada uma especial atenção ao factor segurança. Deste modo, quaisquer aplicações desenvolvidas estão seguras contra possíveis ataques vindos do exterior. Alta performance Numa linguagem de programação, a performance é sempre importante. No Java, o interpretador pode correr e converter os byte codes em código, sem ter que fazer verificações ao sistema. Algumas empresas estão a tentar desenvolver um compilador de Java para a arquitectura nativa da máquina o que aumentará a performance. Multi-processo O Java suporta programação multi-processo. Num único programa, podem estar múltiplos processos independentes a correr código distinto e continuamente, de uma forma concorrente. Dinâmica A fase de linkagem é dinâmica. As classes desenvolvidas são linkadas apenas quando necessário o que permite que, a qualquer altura, novas classes internas, externas ou até vindas de uma rede, possam ser linkadas com o programa em desenvolvimento. As aplicações desenvolvidas podem assim ser actualizadas em qualquer altura. Garbage Collector Não é necessário fazer qualquer alocação explícita de memória no Java. A memória é alocada quando necessário e recolhida pelo Garbage Collector quando deixa de ser necessária. Ao contrário da maior parte das linguagens de programação, em que um programa pode ser compilado ou interpretado para que possa correr num computador, com Java o programa é compilado e interpretado. Primeiro o compilador traduz o programa para uma linguagem intermédia e independente da plataforma, denominada byte codes. A partir daí, o interpretador é responsável por correr o código desenvolvido em cada plataforma. 13

22 Tecnologia Java aplicada a telemóveis No caso do Java, o código é compilado apenas uma vez, e interpretado cada vez que é corrido. Figura Esquema de funcionamento do Java Cada interpretador, quer seja uma aplicação ou um browser que suporte Java applets é uma implementação de uma Java Virtual Machine (JVM) preparada para receber o código em byte codes e corre-lo. É isto que faz com que o Java seja uma linguagem do tipo write once, run anywhere. Uma aplicação pode ser desenvolvida e compilada sobre qualquer plataforma, e depois corrida em cima de qualquer implementação da JVM, independentemente da nova plataforma utilizada. Figura Portabilidade do Java 14

23 Java A plataforma Uma plataforma pode ser descrita como o ambiente de hardware e software onde pode ser corrido um programa. Ao contrario da maior parte das plataformas conhecidas que resultam na combinação de componentes de hardware com software específico, a plataforma Java é baseada apenas numa componente de software que corre em cima de hardware de outras plataformas. A plataforma Java é constituída por dois componentes: Java Virtual Machine (JVM); Java Application Programming Interface (API); Tal como foi já referenciado, o JVM é um interpretador que analisa o código traduzido para byte codes e faz com que possa ser corrido sobre qualquer plataforma. O JVM é portanto toda a base da portabilidade do Java. O Java API (Application Programming Interface) é uma colecção de componentes de software já desenvolvidos que disponibilizam muitas utilidades aos programadores, como por exemplo, um interface gráfico (GUI). A API está agrupada em librarias de interfaces e classes relacionados, que são conhecidas como packages. Os programadores podem assim utilizar livremente quaisquer packages disponibilizados afim de facilitar e optimizar o desenvolvimento de aplicações sobre esta plataforma. O esquema que se segue, mostra a plataforma Java e os seus constituintes: Figura Constituintes do Java Devido ao uso de um estado intermédio de compilação, onde são gerados os byte codes, a plataforma Java torna-se um pouco mais lenta do que código nativo, contudo, com a utilização de bons compiladores e interpretadores, a performance pode-se aproximar bastante do código nativo sem porém pôr em causa a sua portabilidade. O Java é portanto ideal para trabalhar em diversas plataformas distintas e, por isso, teoricamente, seria apenas necessário desenvolver uma JVM que se pudesse aplicar às diversas plataformas moveis existentes. À primeira vista, o Java adaptar-se-ia perfeitamente como linguagem para programar aplicações destinadas a telemóveis. 15

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

Java 2 Micro Edition (J2ME)

Java 2 Micro Edition (J2ME) Java 2 Micro Edition (J2ME) por Filipe Gonçalves Barreto de Oliveira Castilho Departamento de Engenharia Informática Universidade de Coimbra 3030 Coimbra, Portugal fgonc@student.dei.uc.pt Resumo: Apresenta-se

Leia mais

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS Ana Paula Carrion 1, Késsia Rita da Costa Marchi 1, Jaime Willian Dias 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil anapaulacarrion@hotmail.com,

Leia mais

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

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

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

Programação de Computadores - I. Profª Beatriz Profº Israel

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

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

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

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

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 *Adaptado de PACHECO, R C S & RIEKE, R N INE UFSC Disponível em: http://wwwstelaufscbr/~pacheco/dsoo/htm/downloadshtm

Leia mais

Roteiro. Linguagens, plataformas e ambientes de Desenvolvimento. Desenvolvimento de Aplicações para DM. Java. Linguagem C

Roteiro. Linguagens, plataformas e ambientes de Desenvolvimento. Desenvolvimento de Aplicações para DM. Java. Linguagem C Desenvolvimento de Aplicações para Dispositivos Móveis José de Ribamar Martins Bringel Filho Mestre em Ciência da Computação (UFC) bringel@cenapadne.br Roteiro Overview das Plataformas e Linguagens J2ME

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

UMA ABORDAGEM SOBRE J2ME

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.

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

Interface Homem Máquina para Domótica baseado em tecnologias Web

Interface Homem Máquina para Domótica baseado em tecnologias Web Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Aula 01: Começando com Java Objetivos: Compreender o que é Java, OO e suas vantagens; Entender os procedimentos para criação

Leia mais

Interfaces Dinâmicas e Adaptativas para Celulares

Interfaces Dinâmicas e Adaptativas para Celulares Interfaces Dinâmicas e Adaptativas para Celulares Flavio Henrique Cardoso de Freitas, Silvano Maneck Malfatti Faculdade Católica do Tocantins (FACTO) Palmas TO Brasil {flaviohcf,silvanomalfatti}@hotmail.com

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

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

DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS

DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS Aluno: Fábio Bicalho de Araujo Orientador: Marco Antonio Grivet Matoso Maia Introdução Um fato da atualidade: o mundo está se tornando cada vez mais

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

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

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

Leia mais

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Primeira Dica Afirmação O que é Java? Características do Java Como Java Funciona Plataforma Java Edições Java Java SE Java EE Java ME

Leia mais

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. 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

Leia mais

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva Introdução à Linguagem Java Departamento de Informática Prof. Anselmo C. de Paiva Breve Histórico Sun Microsystems, 90/91: projeto de uma linguagem de programação pequena que pudesse ser usada em dispositivos

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Arquitectura de Sistemas Computacionais

Arquitectura de Sistemas Computacionais Arquitectura de Sistemas Computacionais Práticas 2004-2005 Prof. Dr. Paulo Sampaio Departamento de Matemática e Engenharias UNIVERSIDADE DA MADEIRA A plataforma Nokia Series 60 Optimizado para Symbian

Leia mais

Desenvolvimento de um Framework de Jogos 3D para Celulares

Desenvolvimento de um Framework de Jogos 3D para Celulares Desenvolvimento de um Framework de Jogos 3D para Celulares Fabrício Brasiliense Departamento de Informática e Estatística(INE) Universidade Federal de Santa Catarina (UFSC) Campus Universitário Trindade-

Leia mais

Linguagem de Programação Introdução a Linguagem Java

Linguagem de Programação Introdução a Linguagem Java Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,

Leia mais

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas) ENIAC Introdução aos Computadores e à ção (Noções Básicas) Introdução aos Computadores e à ção (Noções Básicas) 1 Introdução aos Computadores e à ção (Noções Básicas) 2 O transistor foi inventado em 1947

Leia mais

BrokerCell: programando celular com J2ME para cotar papéis na Bovespa

BrokerCell: programando celular com J2ME para cotar papéis na Bovespa BrokerCell: programando celular com J2ME para cotar papéis na Bovespa Nairon Neri Silva 1, Luís Augusto Mattos Mendes(Orientador) 1 1 Ciência da Computação - Universidade Presidente Antônio Carlos (UNIPAC)

Leia mais

SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados

SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados Acadêmico: Bernardo Marquardt Müller Orientador: Prof. Dr. Mauro Marcelo Mattos Roteiro

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

DESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME

DESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME DESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME Ana Paula A. ZANELATO 1 Eliezer Gomes Paraganba FILHO 2 Emerson Silas DÓRIA 3 RESUMO: Este artigo pretende apresentar a tecnologia J2ME (linguagem

Leia mais

FAMINAS BH - FACULDADE DE MINAS CURSO DE SISTEMAS DE INFORMAÇÃO ALEXSANDRO GOMES DA SILVA CEZAR AUGUSTO SANTOS DE OLIVEIRA VAGNER JOSÉ DE SOUZA

FAMINAS BH - FACULDADE DE MINAS CURSO DE SISTEMAS DE INFORMAÇÃO ALEXSANDRO GOMES DA SILVA CEZAR AUGUSTO SANTOS DE OLIVEIRA VAGNER JOSÉ DE SOUZA FAMINAS BH - FACULDADE DE MINAS CURSO DE SISTEMAS DE INFORMAÇÃO ALEXSANDRO GOMES DA SILVA CEZAR AUGUSTO SANTOS DE OLIVEIRA VAGNER JOSÉ DE SOUZA O CRESCIMENTO DA MOBILIDADE E O ESTUDO DA TECNOLOGIA JAVA

Leia mais

Arquiteturas para implantação de aplicações móveis wireless

Arquiteturas para implantação de aplicações móveis wireless Arquiteturas para implantação de aplicações móveis wireless Este tutorial apresenta uma visão geral da arquitetura para implantação de aplicações móveis wireless. Eduardo Tude Engenheiro de Teleco (IME

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Computação Móvel J2ME

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

Leia mais

Universidade de Aveiro Departamento de Electrónica e Telecomunicações. Valter Filipe Miranda Castelão da Silva. Ambiente Java para sistemas embedded

Universidade de Aveiro Departamento de Electrónica e Telecomunicações. Valter Filipe Miranda Castelão da Silva. Ambiente Java para sistemas embedded Universidade de Aveiro Departamento de Electrónica e Telecomunicações 2002 Valter Filipe Miranda Castelão da Silva Ambiente Java para sistemas embedded Universidade de Aveiro Departamento de Electrónica

Leia mais

Programação de Computadores II: Java. / NT Editora. -- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm.

Programação de Computadores II: Java. / NT Editora. -- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm. Autor José Jesse Gonçalves Graduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP, de Presidente Prudente (1995), com especialização em Análise de Sistemas (1999) e mestrado

Leia mais

OSGi Um Sistema Dinâmico de Módulos para Java

OSGi Um Sistema Dinâmico de Módulos para Java OSGi Um Sistema Dinâmico de Módulos para Java Raoni Kulesza raoni@larc.usp.br MAC-5863 Sistemas de Middleware Avançados 2006/2 Prof. Dr. Francisco Reverbel IME-USP, 28/11/2006 Agenda Introdução Arquitetura

Leia mais

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 1 Introdução ao Java Objetivos do Capítulo Compor uma visão histórica mínima para a compreensão da origem do Java. Compreender o que é o Java e para que finalidades ele é empregado. Delinear algumas

Leia mais

Linguagem de Programação JAVA

Linguagem de Programação JAVA Linguagem de Programação JAVA Curso Técnico em Informática Modalida Integrado Instituto Federal do Sul de Minas, Câmpus Pouso Alegre Professora: Michelle Nery Agenda JAVA Histórico Aplicações Pós e Contras

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

PROGRAMAÇÃO JAVA. Parte 1

PROGRAMAÇÃO JAVA. Parte 1 PROGRAMAÇÃO JAVA Parte 1 O que é um programa? Um algoritmo (sequência de operações elementares - instruções) convertido para uma linguagem que possa ser executada por um computador Programa = Algoritmos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da

Leia mais

Programação de Computadores II TCC-00.309 Turma A-1

Programação de Computadores II TCC-00.309 Turma A-1 Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente

Leia mais

Manual do Utilizador

Manual do Utilizador Faculdade de Ciências e Tecnologia da Universidade de Coimbra Departamento de Engenharia Electrotécnica e Computadores Software de Localização GSM para o modem Siemens MC35i Manual do Utilizador Índice

Leia mais

Java Linguagem de programação

Java Linguagem de programação 1 Linguagem Java O que é o Java? Java é uma linguagem de programação, apresentada ao mercado em 1995, pela Sun Microsystems, que provocou e ainda provoca excitação e entusiasmo em programadores, analistas

Leia mais

UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA. Pizzaria Manão

UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA. Pizzaria Manão UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA Pizzaria Manão Emilio Gonçalves 41281 Fabrício Luís Santos da Silva 50293 Filipe Ribeiro Nalon 50295

Leia mais

Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java

Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java RedFoot J Dukes Uma Visão Geral Sobre Plataforma Java Marco Aurélio malbarbo@din.uem.br 1 Roteiro Objetivos Plataforma Java Linguagem de Programação Maquina Virtual Tecnologias Conclusão 2 Objetivos Geral

Leia mais

TABELA 3.1 Requisitos do Windows Server 2008 Standard

TABELA 3.1 Requisitos do Windows Server 2008 Standard 3 3INSTALAÇÃO DE UM SERVIDOR 2008 Feita a apresentação das funcionalidades do Windows Server 2008, eis que chega a hora mais desejada: a da implementação do nosso servidor. No entanto não é de todo recomendável

Leia mais

3 ao Quadrado - Agenda Web

3 ao Quadrado - Agenda Web 3 ao Quadrado - Agenda Web Relatório de Gestão de Projectos de Software - Grupo A - LEIC 2001/2002 http://gnomo.fe.up.pt/gps01a João Montenegro - ei97023@fe.up.pt André Teixeira - ei97024@fe.up.pt Carlos

Leia mais

Capítulo 8. Software de Sistema

Capítulo 8. Software de Sistema Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 1: Introdução MEEC@IST Java 1/27 História versões (1) [1995] Versão 1.0, denominada Java Development Kit (JDK) 212 classes em 8 pacotes Lento, muitos bugs, mas com Applets

Leia mais

INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO

INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO Ramon R. Rabello, Pedro J. Treccani, Thienne M Johnson Universidade da Amazônia, Av Alcindo Cacela, 287, Belém, PA CEP 66092-010 ramon.rabello@gmail.com,

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

Enunciado do Projecto

Enunciado do Projecto C O M P U T A Ç Ã O M Ó V E L 2 0 0 7 / 2 0 0 8 Enunciado do Projecto 17 de Março de 2008 1. Objectivos Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização

Leia mais

Guia de telemóveis, tarifários e serviços Empresas e Profissionais

Guia de telemóveis, tarifários e serviços Empresas e Profissionais Guia de telemóveis, tarifários e serviços Empresas e Profissionais Vodafone Business O guia de telemóveis, tarifários e serviços para Empresas e Profissionais. Tudo o que necessita para facilitar a sua

Leia mais

J2ME, Uma Platarfoma de programação para Dispositivos Móveis

J2ME, Uma Platarfoma de programação para Dispositivos Móveis J2ME, Uma Platarfoma de programação para Dispositivos Móveis Jesseildo F. Gonçalves 07/10/2010 Jesseildo F. Gonçalves () 07/10/2010 1 / 50 1 Introdução ao J2ME História Arquitetura do J2ME MIDLets 2 RMS:

Leia mais

Windows 7 Beta em revista

Windows 7 Beta em revista Windows 7 Beta em revista O Windows 7 é o novo sistema operativo da Microsoft que vem suceder o Windows Vista. O 7 é uma evolução natural do Vista, isto é, as bases são as do Vista, mas com a introdução

Leia mais

1.5. Computador Digital --Software. INFormática. 1.5.1. Tipos de Software. Software. Hardware. Software do Sistema. Software de Aplicação.

1.5. Computador Digital --Software. INFormática. 1.5.1. Tipos de Software. Software. Hardware. Software do Sistema. Software de Aplicação. 1.5. Computador Digital --Software 1.5.1. Tipos de Software Utilizador Aplicações Linguagens Programação Software Sistema Operativo Hardware Software de Aplicação Processadores de Texto Folhas de Cálculo

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

Otimização de Código na Criação de Animação Gráfica para Dispositivos Móveis, utilizando J2ME

Otimização de Código na Criação de Animação Gráfica para Dispositivos Móveis, utilizando J2ME Otimização de Código na Criação de Animação Gráfica para Dispositivos Móveis, utilizando J2ME Fábio Ottoni Júlio 1, Lívia Márcia Silva 1 1 Departamento de Ciência da Computação DCC Universidade Presidente

Leia mais

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta

Leia mais

Projecto 5º Ano - Engenharia Informática. Orientadores. Prof. Doutor Sá Silva Prof. Mestre Sérgio Duarte

Projecto 5º Ano - Engenharia Informática. Orientadores. Prof. Doutor Sá Silva Prof. Mestre Sérgio Duarte Projecto 5º Ano - Engenharia Informática Orientadores Prof. Doutor Sá Silva Prof. Mestre Sérgio Duarte Sumário Etapas do projecto WhyCry Ponto de Partida Técnicas de Transmissão de vídeo Arquitectura Java

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 02 História do desenvolvimento de software para dispositivos móveis Dalton Martins dmartins@gmail.com São

Leia mais

Explicação, Vantagens e Comparação com Sistemas de Prova Tradicionais

Explicação, Vantagens e Comparação com Sistemas de Prova Tradicionais Livro branco: PROVA DIGITAL Explicação, Vantagens e Comparação com Sistemas de Prova Tradicionais O presente livro branco introduz a prova digital e explica o seu valor para a obtenção de cores consistentes

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Java Conceitos e Definições Parte 02 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 2 O que é Java i. Java ii. Máquina Virtual iii. Java lento? Hotspot e JIT iv. Versões do Java e a confusão do Java2

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

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional Introdução à Linguagem JAVA Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação Laboratório de Visão Computacional Vantagens do Java Independência de plataforma; Sintaxe semelhante às linguagens

Leia mais

Java. Guia do Programador. Peter Jandl Junior. Novatec

Java. Guia do Programador. Peter Jandl Junior. Novatec Java Guia do Programador Peter Jandl Junior Novatec Capítulo 1 Introdução Este capítulo apresenta a plataforma Java, seu histórico resumido, suas principais características e aplicações. Também são indicados

Leia mais

ZSRest. Manual de Configuração. CheckOutPDA. V2011-Certificado

ZSRest. Manual de Configuração. CheckOutPDA. V2011-Certificado Manual de Configuração CheckOutPDA V2011-Certificado 1 1. Índice 2. Introdução... 2 3. Pré-requisitos... 3 a) Base de dados... 3 b) Firewall... 3 c) Rede sem fios... 3 d) PDA... 3 4. Instalar PDA... 4

Leia mais

Aula1. Preparando o ambiente de desenvolvimento

Aula1. Preparando o ambiente de desenvolvimento Programando para Symbian OS S60 Platform SDKs for Symbian OS, for C++ (diego@drsolutions.com.br) 27 Agosto/2007 Aula1 Preparando o ambiente de desenvolvimento Objetivo da aula: Propiciar ao leitor uma

Leia mais

CUSTO TOTAL DE PROPRIEDADE DO PANDA MANAGED OFFICE PROTECTION. 1. Resumo Executivo

CUSTO TOTAL DE PROPRIEDADE DO PANDA MANAGED OFFICE PROTECTION. 1. Resumo Executivo 1. Resumo Executivo As empresas de todas as dimensões estão cada vez mais dependentes dos seus sistemas de TI para fazerem o seu trabalho. Consequentemente, são também mais sensíveis às vulnerabilidades

Leia mais

JOGO DA MEMÓRIA PARA DISPOSITIVOS MÓVEIS GAME OF MEMORY TO MOBILE DEVICES

JOGO DA MEMÓRIA PARA DISPOSITIVOS MÓVEIS GAME OF MEMORY TO MOBILE DEVICES JOGO DA MEMÓRIA PARA DISPOSITIVOS MÓVEIS GAME OF MEMORY TO MOBILE DEVICES Célia Hirata Aoki - celia@unisalesiano.edu.br Prof. M.Sc. Anderson Pazin - pazin@unisalesiano.edu.br RESUMO As fortes expansões

Leia mais

Prime: uma solução Java para acesso móvel a informações utilizando GSM/GPRS

Prime: uma solução Java para acesso móvel a informações utilizando GSM/GPRS Prime: uma solução Java para acesso móvel a informações utilizando GSM/GPRS RENATO BARBOSA MIRANDA VALESKA PIVOTO PATTA MARCONDES Inatel - Instituto Nacional de Telecomunicações ICC - Inatel Competence

Leia mais

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com Java & OpenJDK Thiago S. Gonzaga Sun Campus Ambassador thiago.gonzaga@sun.com Tópicos Sobre a Sun Microsystems Algumas tecnologias da Sun Linguagem de Programação Ciclo de Desenvolvimento O que é Java?

Leia mais

Aplicações Móveis e sua aplicação na saúde: micd, exemplo prático

Aplicações Móveis e sua aplicação na saúde: micd, exemplo prático Aplicações Móveis e sua aplicação na saúde: micd, exemplo prático Leonel Machava Email: leonelmachava@gmail.com MOZAMBICAN OPEN ARCHITECTURES STANDARDS AND INFORMATION SYSTEMS Conteúdo Definição de aplicação

Leia mais

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem 1 JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem orientada a objectos. Tal como em ASP e PHP, os ficheiros

Leia mais

3 Ambientes Celulares

3 Ambientes Celulares 3 Ambientes Celulares O avanço da tecnologia é imenso a cada ano que passa, de modo que, nas últimas décadas, novos conceitos foram introduzidos no cotidiano das pessoas. Dentre as principais evoluções

Leia mais

Arquitetura Java ME (J2ME) & Tecnologias Java Embarcadas Relacionadas

Arquitetura Java ME (J2ME) & Tecnologias Java Embarcadas Relacionadas Arquitetura Java ME (J2ME) & Tecnologias Java Embarcadas Relacionadas INF-455/655 Computação Móvel Universidade Federal de Viçosa Departamento de Informática Conteúdo 3 sabores para as plataformas Java

Leia mais

JOGO DA MEMÓRIA PARA DISPOSITIVOS MÓVEIS. Célia Hirata Aoki Anderson Pazin

JOGO DA MEMÓRIA PARA DISPOSITIVOS MÓVEIS. Célia Hirata Aoki Anderson Pazin JOGO DA MEMÓRIA PARA DISPOSITIVOS MÓVEIS Célia Hirata Aoki Anderson Pazin LINS SP 2009 2 JOGO DA MEMÓRIA PARA DISPOSITIVOS MÓVEIS RESUMO As fortes expansões do mercado de desenvolvimento de softwares,

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

A Plataforma Java 2 Micro Edition Aplicada em Dispositivos Móveis: Sistemas Embarcados para Telefones Celulares

A Plataforma Java 2 Micro Edition Aplicada em Dispositivos Móveis: Sistemas Embarcados para Telefones Celulares Engineering for a better life Universidade Federal do Maranhão A Plataforma Java 2 Micro Edition Aplicada em Dispositivos Móveis: Sistemas Embarcados para Telefones Celulares Monografia BRUNO FERNANDES

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Sistemas Operacionais 1- Introdução aos SOs Prof. Sílvio Fernandes Disciplina Sistemas

Leia mais

Optimização de um Mundo Virtual

Optimização de um Mundo Virtual secção 3.2 Optimização de um Mundo Virtual Dadas as limitações impostas pela actual tecnologia, um mundo virtual que não seja cuidadosamente optimizado torna-se necessariamente demasiado lento para captar

Leia mais

1.1. Java como plataforma, além da linguagem

1.1. Java como plataforma, além da linguagem Capítulo 1 A plataforma Java Diversas plataformas de desenvolvimento possuem grande penetração no mercado. A plataforma Java atingiu a liderança devido a algumas características relacionadas ao seu processo

Leia mais

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG Bases de Dados O que é uma Base de Dados? Dados Pode-se começar por tentar dar uma definição do que são Dados. Os dados são factos em bruto, que não são necessáriamente relevantes para qualquer coisa que

Leia mais

Kernel Linux. Trabalho Realizador Por: Tiago Conceição Nº 11903. Representação artística do núcleo Linux

Kernel Linux. Trabalho Realizador Por: Tiago Conceição Nº 11903. Representação artística do núcleo Linux Kernel Linux Representação artística do núcleo Linux Trabalho Realizador Por: Tiago Conceição Nº 11903 Índice Introdução...2 O que é o Kernel...3 Como surgiu...4 Para que serve...5 Versões...6 Versões

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

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

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

PHC dteamcontrol Externo

PHC dteamcontrol Externo PHC dteamcontrol Externo A gestão remota de projectos e de informação A solução via Internet que permite aos seus Clientes participarem nos projectos em que estão envolvidos, interagindo na optimização

Leia mais

Arquitecturas de Software

Arquitecturas de Software UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Mestrado em Engenharia Informática e de Computadores Primeiro Exame 21 de Janeiro de 2010, 17:00H 19:00H Nome: Número:

Leia mais

Visão Geral da Plataforma Java. Robinson Castilho - JUGMS castilho@bacarin.com.br http://www.jugms.com.br

Visão Geral da Plataforma Java. Robinson Castilho - JUGMS castilho@bacarin.com.br http://www.jugms.com.br Visão Geral da Plataforma Java Robinson Castilho - JUGMS castilho@bacarin.com.br http://www.jugms.com.br Agenda Apresentação Motivação para a palestra História do Java A máquina virtual Java (JVM) Java

Leia mais

Wall Street Institute resolve necessidades complexas de e-mail com solução Microsoft Exchange Online

Wall Street Institute resolve necessidades complexas de e-mail com solução Microsoft Exchange Online Wall Street Institute resolve necessidades complexas de e-mail com solução Microsoft Exchange Online Além da poupança na infra-estrutura física dos servidores e do preço das licenças, há reduções de custos

Leia mais