UNIJUI - UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DETEC DEPARTAMENTO DE TECNOLOGIA

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

Download "UNIJUI - UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DETEC DEPARTAMENTO DE TECNOLOGIA"

Transcrição

1 UNIJUI - UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DETEC DEPARTAMENTO DE TECNOLOGIA AMBIENTE PARA DESENVOLVIMENTO DE APLICATIVOS PARA DISPOSITIVOS MÓVEIS COM SISTEMA OPERACIONAL SYMBIAN LUIS FABIO FACCIN Ijuí Novembro/2010

2 2 UNIJUI - UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DETEC DEPARTAMENTO DE TECNOLOGIA AMBIENTE PARA DESENVOLVIMENTO DE APLICATIVOS PARA DISPOSITIVOS MÓVEIS COM SISTEMA OPERACIONAL SYMBIAN LUIS FABIO FACCIN Trabalho de Conclusão de Curso apresentado ao Curso de Informática - Sistemas de Informação do Departamento de Tecnologia (DeTec), da Universidade Regional do Noroeste do Estado do Rio Grande do Sul (UNIJUÍ), como requisito para a obtenção do título Bacharel em Informática - Sistemas de Informação. Orientador: Prof. Dr. Paulo Sérgio Sausen Ijuí Novembro/2010

3 3 AMBIENTE PARA DESENVOLVIMENTO DE APLICATIVOS PARA DISPOSITIVOS MÓVEIS COM SISTEMA OPERACIONAL SYMBIAN LUIS FABIO FACCIN Trabalho de Conclusão de Curso apresentado ao Curso de Informática - Sistemas de Informação do Departamento de Tecnologia (DeTec), da Universidade Regional do Noroeste do Estado do Rio Grande do Sul (UNIJUÍ), como requisito para a obtenção do título Bacharel em Informática - Sistemas de Informação. Orientador: Prof. Dr. Paulo Sérgio Sausen BANCA EXAMINADORA Prof. Dr. Sandro Sawicki Ijuí Novembro/2010

4 4 DEDICATÓRIA Dedico este trabalho aos meus pais Neimar e Marlei que sempre estiveram ao meu lado, me incentivando, apoiando e ajudando em todos os momentos. Pais que foram amigos e fiéis conselheiros, que acima de tudo me encorajaram a seguir em frente e a conquistar meus sonhos. Dedico também à minha irmã Luciele, pelo carinho. À minha namorada Elenise, pelo amor, dedicação e tudo que vivemos juntos durante essa etapa, e para os meus familiares que mesmo longe me apoiaram.

5 5 AGRADECIMENTOS Agradeço a Deus por ter iluminado meus caminhos, e me ajudado a chegar até aqui. Aos meus pais que muitas vezes abriram mão dos seus sonhos e objetivos para que eu pudesse conquistar os meus. À minha irmã que mesmo com a inocência de criança me ajudou. ideais. À minha namorada pelo incentivo aos meus estudos e na busca de meus Ao meu orientador Paulo Sérgio Sausen que sempre me ajudou a sanar minhas dúvidas durante este trabalho e aprimorar meus conhecimentos em redes de computadores. Ao professor Sandro Sawicki, que gentilmente aceitou o convite para ser banca na defesa do meu trabalho de conclusão de curso. Aos meus colegas por todos os anos de convivência e amizade. À gurizada do GAIC pela parceria e todos os bons momentos e histórias que vivemos juntos ao longo de muitas tardes, noites e até madrugadas como bolsistas. À todos os professores de Informática pelos conhecimentos à nós seriamente repassados. Aos meus familiares que me auxiliaram em todos os momentos.

6 6 O insucesso é apenas uma oportunidade para recomeçar de novo com mais inteligência. Henry Ford

7 7 RESUMO O presente trabalho aborda, inicialmente, um estudo sobre o desenvolvimento de software para telefones celulares que utilizam o sistema operacional Symbian. O mercado de dispositivos móveis vem crescendo, onde milhares de novos dispositivos são vendidos todos os dias. Este aumento de vendas, aliado ao crescimento da capacidade de processamento despertou o interesse das empresas em utilizar estes dispositivos móveis em seu benefício, através do desenvolvimento de aplicativos adequados à seu tipo de atividade. Neste sentido, este trabalho apresenta o sistema operacional Symbian e suas características, juntamente com as principais ferramentas e tecnologias disponíveis para o desenvolvimento de aplicativos para celular, utilizando a plataforma Java 2 Micro Edition. Também são apresentadas as estruturas e tecnologias que envolvem os recursos necessários para efetuar a comunicação destes dispositivos móveis com servidores remotos através de Web Services. O estudo de caso apresenta um protótipo desenvolvido para monitorar remotamente as atividades de uma subestação de energia elétrica, o qual possibilita melhorias no controle de qualidade da energia elétrica fornecida pela subestação aos consumidores. Palavras-chave: Symbian, J2ME, MIDP, telefones celulares, Web Services, Monitoramento Remoto.

8 8 LISTA DE ABREVIATURAS E SIGLAS AMS - Application Management Software API - Application Programming Interface ASF - Apache Software Foundation AWT - Abstract Window Toolkit CDC - Connected Device Configuration CLDC - Connected Limited Device Configuration FP - Foundation Profile GAIC - Grupo de Automação Industrial e Controle GUI - Graphical user interface - Interface gráfica do usuário IDE - Ambiente Integrado de Desenvolvimento J2ME - Java2 Micro Edition JAD - Java Application Descriptor JAR - Java Archive JCP - Java Community Proccess JDBC - Java Database Connectivity JDK - Java Development Kit JMS - Java Message Service JSP - JavaServer Pages JSR - Java Specification Request JVM - Java Virtual Machine JWS - Java Web Service KVM - Kilobyte Virtual Machine MIDP - Mobile Information Device Profile PBP - Personal Basis Profile PP - Personal Profile RMI - Remote Method Invocation SDK - Software Development Kit SGBD - Sistema de Gerenciamento de Banco de Dados

9 9 SGML - Standart Generalized Markup Language SO - Sistema Operacional SOAP - Simple Object Access Protocol SR - Servidor Remoto UDDI - Universal Description Discovery and Integration UIQ - User Interface Quartz URAD - Unidade Remota de Aquisição de Dados URI - Identificador Uniforme de Recursos WS - Web Service WSDD - Web Service Deployment Descriptor WSDL - Description Language WTK - Wireless ToolKit WWW - World Wide Web XML - Extended Markup Language

10 10 LISTA DE FIGURAS Figura 1 - Exemplos de Telefones Celulares da série S Figura 2 - Nokia 9210i, com SO da Série Figura 3 - Motorola Z10 com interface UIQ Figura 4 - Arquitetura J2ME Figura 5 - Ciclo de vida de um MIDlet Figura 6 - Hierarquia de Classes de interface gráfica do MIDP Figura 7 - Seleção da JDK para download Figura 8 - Seleção de plataforma e idioma do JDK Figura 9 - Link para download do JDK Figura 10 - Variáveis de ambiente do Windows Figura 11 - Verificando a instalação do Java Figura 12 - Versões do Netbeans Figura 13 - Localização do JDK durante a instalação do Netbeans Figura 14 - Tela principal do Netbeans Figura 15 - Novo projeto no Netbeans Figura 16 - Seleção do tipo de projeto no Netbeans Figura 17 - Propriedades da nova aplicação no Netbeans Figura 18 - Seleção da Plataforma no Netbeans Figura 19 - Configurações finais do projeto Figura 20 - Exibição do projeto criado no Netbeans Figura 21 - Criação de um MIDlet no projeto do Netbeans Figura 22 - MIDlet criado no projeto Figura 23 - MIDlet sendo executado no emulador do WTK Figura 24 - Emulador da Nokia S60 3rd Edition FP2 SDK Figura 25 - Download do SDK Nokia S60 3rd Edition FP

11 11 Figura 26 - Solicitação de instalação do ActivePerl Figura 27 - Adicionar Plataforma ao Netbeans Figura 28 - Tipos de Plataformas no Netbeans Figura 29 - Seleção de plataforma para execução do MIDlet Figura 30 - MIDlet sendo executado no emulador do S Figura 31 - MIDlet sendo executado no celular Nokia N Figura 32 - Configuração de plataforma no projeto do Netbeans Figura 33 - Exemplo TextBox Figura 34 - Exemplo List Exclusive, Multiple e Implicit Figura 35 - Exemplo Alert - Erro Figura 36 - Exemplo ChoiceGroup Figura 37 - Exemplo DateField Figura 38 - Exemplo TextField Figura 39 - Exemplo Gauge Figura 40 - Exemplo ImageItem Figura 41 - Exemplo StringItem Figura 42 - Exemplo de aplicação: Somar dois números Figura 43 - Visão Geral do Ambiente de Desenvolvimento Figura 44 - Download do Apache Tomcat Figura 45 - Download do Apache Axis Figura 46 - Iniciar/parar Apache Tomcat Figura 47 - Exemplo de aplicação: Somar dois números utilizando Web Services Figura 48 - Arquitetura do Sistema de Monitoramento de Subestações de Energia Elétrica Figura 49 - Unidade Remota de Aquisição de Dados (URAD) Figura 50 - Servidor Remoto (SR) Figura 51 - Tela do aplicativo de monitoramento Figura 52 - Diagrama de telas da aplicação de monitoramento Figura 53 - Menu da aplicação de Monitoramento Figura 54 - Gráficos gerados pela aplicação de Monitoramento Figura 55 - Configurações do aplicativo de Monitoramento

12 12 LISTA DE QUADROS Quadro 1 - Código fonte Aplicação de Exemplo Quadro 2 - Código fonte TextBox Quadro 3 - Código fonte List Quadro 4 - Código fonte Alert Quadro 5 - Código fonte ChoiceGroup Quadro 6 - Código fonte DateField Quadro 7 - Código fonte TextField Quadro 8 - Código fonte Gauge Quadro 9 - Código fonte ImageItem Quadro 10 - Código fonte exemplo de aplicação que soma dois números Quadro 11 - WSDL do Web Service Quadro 12 - XML com a resposta da chamada de um método do WS pelo Browser89 Quadro 13 - Código fonte da aplicação de exemplo com WS Quadro 14 - Método do WS da aplicação de Monitoramento

13 13 LISTA DE TABELAS Tabela 1 - Volume de vendas de Smartphones Tabela 2 - Comparação entre perfis das configurações CDC e CLDC Tabela 3 - Pacotes da API microedition Tabela 4 - Pacotes adicionais do CLDC Tabela 5 - Tipos de Command... 43

14 14 SUMÁRIO INTRODUÇÃO SYMBIAN Histórico Arquitetura Interfaces do usuário do Sistema Operacional Symbian S Série User Interface Quartz (UIQ) Linguagens de programação suportadas J2ME JAVA 2 MICRO EDITION Arquitetura do J2ME Configurações Connected Limited Device Configuration (CLDC) Connected Device Configuration (CDC) Perfis Foundation Profile (FP) Personal Basis Profile (PBP) Personal Profile (PP) Mobile Information Device Profile (MIDP) MOBILE INFORMATION DEVICE PROFILE - MIDP API microedition MIDlets Ciclo de vida de um MIDlet Midlets Suite INTERFACE GRÁFICA DE UM MIDLET Display Displayable Interface com o usuário de alto nível Command Ticker Screen... 43

15 TextBox List Alert Form Item ChoiceGroup DateField TextField Gauge ImageItem StringItem Canvas Interface com o usuário de baixo nível Graphics AMBIENTE DE DESENVOLVIMENTO JDK - Java Development Kit Baixando e instalando o JDK Configurando as variáveis de ambiente IDE Netbeans Download e instalação do Netbeans Wireless Toolkit Por que utilizar o Netbeans? Criando um novo projeto no Netbeans Executando a aplicação no Wireless Toolkit (WTK) Software Development Kit (SDK) Software S60 3rd Edition FP2 SDK Download e instalação do SDK S60 3rd Edition, FP Adicionando a plataforma S60 ao Netbeans Executando a aplicação na Plataforma S Utilizando os elementos visuais de alto nível TextBox List Alert Form (e seus Items ) Exemplo de aplicação: Somar dois números Visão Geral do Ambiente de Desenvolvimento WEB SERVICES Utilização Tecnologias XML SOAP WSDL UDDI Arquitetura Básica dos Web Services... 84

16 Vantagens Desvantagens Apache Tomcat v Apache Axis v Instalação do Apache Tomcat e Apache Axis Desenvolvendo um Web Service simples Exemplo de aplicação: Somar dois números utilizando WS ksoap e kxml Modificando o projeto para conectar ao Web Services ESTUDO DE CASO: ADIÇÃO DE UM MÓDULO MÓVEL AO SISTEMA DE MONITORAMENTO EM SUBESTAÇÕES DE ENERGIA ELÉTRICA Sistema De Monitoramento Em Subestações De Energia Elétrica Subsistema De Aquisição De Dados Subsistema Servidor Remoto Subsistema Controlador Supervisório Protótipo Do Subsistema Móvel Incorporado Funcionamento Geral Da Aplicação Menu Gráficos Conexão com o Web Services Configurações Outras tecnologias utilizadas Considerações Finais do Protótipo Desenvolvido CONCLUSÃO Trabalhos Futuros REFERÊNCIAS BIBLIOGRÁFICAS

17 17 INTRODUÇÃO É notável, a cada dia, o avanço tecnológico que certos dispositivos vêm sofrendo. A utilização de telefones celulares e suas tecnologias estão cada vez mais presentes na vida do ser humano que, hoje, utiliza estas tecnologias como uma necessidade, e não mais apenas como uma mera novidade. O uso destas tecnologias possibilita a realização de tarefas que antes só poderiam ser feitas com o auxílio de computadores tradicionais. Com o intuito de aproveitar a capacidade computacional dos dispositivos móveis, as empresas buscam soluções que possam integrar e melhorar as atividades de seu dia-a-dia. Grandes empresas da informática investem cada vez mais no desenvolvimento de software para telefones celulares, como por exemplo, a Sun Microsystem, a qual desenvolveu uma versão reduzida de sua plataforma Java, o Java 2 Micro Edition (J2ME), justamente para atender a demanda para estes pequenos dispositivos. O Java difere de outras linguagens de programação, pois possui recursos de Orientação a Objetos, proporcionando códigos portáveis, reusáveis e robustos, bastando ter disponível nos dispositivos móveis, uma Máquina Virtual. A objetivo inicial deste trabalho de conclusão de curso é realizar um estudo de caráter exploratório, a fim de se obter base teórica sobre ferramentas existentes, juntamente com informações sobre o ambiente de desenvolvimento de softwares para celular que utilizam o Sistema Operacional Symbian, através de revisão bibliográfica em livros, trabalhos publicados e na internet. Após essa fase, o trabalho

18 18 possui caráter explicativo, pois demonstra como utilizar as ferramentas e recursos pesquisados. Após a fase exploratória, o trabalho apresenta um estudo de caso, onde será desenvolvido o protótipo de um Subsistema Móvel para o Sistema de Monitoramento em uma Subestação de Energia Elétrica, cuja finalidade será desenvolver um aplicativo para telefones celulares para obter dados e monitorar as atividades da subestação de energia remotamente. O estudo de caso foi aplicado a um projeto de pesquisa de iniciação científica junto ao GAIC Grupo de Automação Industrial e Controle, que é um grupo de pesquisas nas áreas de Engenharia Elétrica e Informática, localizada do DETEC Departamento de Tecnologia, da Universidade Regional do Noroeste do Estado do Rio Grande do Sul, conforme o Capítulo 7.1. A estrutura do trabalho divide-se em sete capítulos. O primeiro deles aborda o Sistema Operacional para telefones celulares, o Symbian. Apresenta seu histórico, sua arquitetura, as séries existentes, e ainda, uma breve análise de mercado. O Segundo capítulo aborda uma breve explanação da tecnologia Java 2 Micro Edition, com sua arquitetura, configurações e perfis. O terceiro capítulo refere-se ao perfil Mobile Information Device Profile (MIDP), apresentando o ciclo de vida das aplicações, perfil este, que será utilizado para a construção de aplicativos para os telefones celulares. O quarto capítulo apresenta detalhadamente cada um dos elementos disponíveis para criar a interface gráfica para que os usuários possam interagir com a aplicação. O quinto capítulo descreve como adquirir, instalar e utilizar as ferramentas disponíveis para o desenvolvimento. Também mostra como utilizar os elementos de interface gráfica, descritos no capítulo quatro.

19 19 O sexto capítulo, por sua vez, contém informações referentes aos Web Services. Apresenta exemplos de utilização, tecnologias, arquitetura, vantagens, desvantagens e as ferramentas utilizadas para disponibilizar os serviços do Web Service. O último capítulo demonstra a produção do aplicativo utilizado no estudo de caso. Apresenta os recursos utilizados e seu funcionamento e os resultados obtidos com a implantação deste protótipo. Por fim, são apresentadas as conclusões do trabalho e as referências bibliográficas consultadas.

20 20 1. SYMBIAN Symbian é o Sistema Operacional (SO) desenvolvido para telefones celulares utilizados por diversos fabricantes como: Nokia, Sony Ericsson, Panasonic, Motorola e Samsung. É um SO desenvolvido para telefone celulares do tipo multimídia, ou seja, celulares que suportam o uso de câmeras fotográficas, mensagens do tipo SMS e MMS, wireless, bluetooth, vídeos, músicas, entre outras funções, as quais se tornam muito importantes quando o assunto tratado é mobilidade. Por ser um SO que controla muito bem o consumo de memória, o consumo de energia, o processamento, entre outros fatores essenciais as empresas mais poderosas da telecomunicação investiram muito para que este fosse um SO propício para o mercado. Notícias recentes publicadas em um dos portais sobre Mobilidade [1] indicam que as empresas Sony Ericsson e Samsung abandonaram a utilização do SO Symbian em seus novos telefones celulares. A Sony Ericsson afirma que não tem planos para desenvolver nenhum novo produto para o padrão ou sistema operacional da Fundação Symbian enquanto o foco da Samsung será utilizar seu novo SO lançado em 2009, conhecido como Bada, já disponível no dispositivo Samsung Wave S8500. Mesmo sem utilizar o SO Symbian, as duas empresas ainda serão membros da Fundação Symbian, a qual é mantenedora oficial deste SO, apenas para manter as aparências. Apesar de uma considerável queda na utilização do Symbian como SO nos dispositivos móveis devido aos SOs concorrentes, uma pesquisa realizada pela

21 21 Revista Info [2] demonstrou que em 2010 o Symbian abrange uma fatia de cerca de 37% no mercado de smartphones, seguido de suas concorrentes Android com cerca de 20%, BlackBerry com 17%, Apple ios com 13%, Windows Mobile e outros com 6%. Segundo a GARTNER [3], no terceiro quadrimestre de 2010 foram vendidos 417 milhões de unidades de celulares. O que torna evidente a troca dos computadores, notebooks e netbooks, por aparelhos de menor porte, porém com poder computacional suficiente para resolver as tarefas diárias dos usuários, como ler s, navegar na Web, edição básica de textos, etc... Mesmo com a liderança da Nokia com seus dispositivos com o SO Symbian, o Android tem subido rapidamente nas quotas de mercado para aderir em menos de um ano um valor equivalente ao crescimento de 25% nas vendas de todos os dispositivos vendidos com este sistema operacional. Parte deste crescimento ocorreu devido à parceria com diversas empresas para desenvolvimento e distribuição de aparelhos para os diversos nichos do mercado, com exceção dos dispositivos da Apple (ios), com distribuição somente por parte desta empresa. A Tabela 1 apresenta o volume de vendas de Smartphones em unidades e porcentagem de mercado no terceiro quadrimestre de 2009 e Company 3Q10 Units 3Q10 Market Share (%) 3Q09 Units 3Q09 Market Share (%) Symbian 29, , Android 20, , ios 13, , Research In Motion 11, , Microsoft Windows 2, , Mobile Linux 1, , Other OS 1, Total 80, , Tabela 1 - Volume de vendas de Smartphones Fonte: Gartner [3].

22 Histórico Fundada em 1980, a Psion, uma empresa de Hardware iniciou suas atividades voltadas para Personal Digital Assistants (PDAs). Com o passar dos anos, houve grandes mudanças, desde a união com outras empresas até o desenvolvimento de sistemas operacionais para celulares. Alguns pontos importantes são listados a seguir, conforme [4] Fundada a Psion por David Potter. Psion era uma empresa de Hardware para PDAs. Início de 1990 Criado o EPOC16. Um SO para dispositivos com processadores da família Intel 8086 com 16 bits. Década de 90 Lançado o EPOC32. Um SO com proteção de memória e multitarefa, também para PDAs. Desenvolvido para família de processadores ARM, incluindo o ARM7, ARM9, StrongARM e Intel XScale Lançado a versão Série 5 do EPOC A Psion Software tornou-se Symbian Ltd., juntamente com as empresas Ericsson, Motorola e Nokia Lançado o SO Symbian 6.0. Fornecia suporte para uma nova gama de smartphones Lançado o SO Symbian 7.0. Fornecia melhorias na interface com o usuário. Suporte a câmeras, cartões de memória, melhorias no Bluetooh, porta Infravermelho e rádio A Psion vendeu sua participação na Symbian. Também foi criado o primeiro vírus para este SO, chamado de Cabir, o qual se espalhava para outros dispositivos através de Bluetooth Lançado o SO Symbian 8.0 com duas opções de escolha para o Kernel. Inclusão de APIs para dar suporte às redes de comunicações CDMA, 3G, internet, suporte a gráficos e acesso direto da tela dos dispositivos Lançado o SO Symbian 9.1. A versão 9.0 foi utilizada somente para fins internos da empresa. A versão 9.1 inclui melhorias de segurança.

23 Lançado Symbian OS 9.2. Uso da Série 60 da Nokia 3ª Edição, incluindo os modelos Nokia E71, Nokia E90, Nokia N95, Nokia N82, Nokia N81 e Nokia Julho de 2006 Lançado o Symbian OS 9.3. Melhoramentos na gestão da memória e suporte nativo para Wi-Fi e HSDPA. Principais modelos: Nokia E72, Nokia 5730 XpressMusic, Nokia N79, Nokia N96, Nokia E52, Nokia E75, Nokia 5320 XpressMusic e Sony Ericsson P1. Março de Lançado o Symbian OS 9.4. As aplicações iniciam até 75% mais rápidas. Principais modelos: Samsung i8910 Omnia HD, Nokia N97, Nokia N97 mini, Nokia 5800 XpressMusic, Nokia 5530 XpressMusic, Nokia 5228, Nokia 5230, Nokia 5233, Nokia 5235, Nokia C6-00, Nokia X6, Sony Ericsson Satio, Sony Ericsson Vivaz e Sony Ericsson Vivaz Pro Lançado o Symbian OS 9.5, com suporte nativo para televisão digital Anúncio da Symbian Ltd. em se transformar em Symbian Foundation. Esta transformação vigorou em 2009, onde o Symbian tornou-se Software Livre. O Objetivo era publicar o código fonte de toda plataforma Symbian Primeiro dispositivo (Nokia N8) com suporte a saída Full HD e também foi o primeiro dispositivo a fazer parte do Symbian^3 (primeira versão completamente open source do Symbian). Possuem interfaces sensíveis ao toque melhoradas. Estava previsto para o início de 2011 o lançamento da versão Symbian^4, porém em outubro de 2010 a Nokia anunciou que não seria lançada esta nova versão, e sim, apenas melhorias para a versão Symbian^ Arquitetura A arquitetura do SO Symbian pode ser definida em seis partes, conforme [5]. Kernel O Kernel gerencia o SO Symbian. Ele gerencia a memória e escalona os programas para execução. Também aloca recursos compartilhados do sistema do dispositivo móvel e gerencia qualquer funcionalidade que necessite de acesso privilegiado à CPU.

24 24 Bibliotecas Básicas As bibliotecas básicas contêm APIs que oferecem funcionalidades tais como manipulação de strings, listas, arquivos de entrada/saída, banco de dados, manipulação de erros e temporizadores. Oferecem também acesso às funções do kernel, como por exemplo, comunicação entre cliente/servidor. As bibliotecas não são utilizadas apenas pelas aplicações, e sim, pelo próprio sistema operacional. Serviços e Protocolos - Fornecem acesso a serviços e dados de aplicação. Ex: Manipular dados de contatos, calendários, listas de tarefas, alarmes e até mesmo comunicação. Framework de aplicação Apresenta a estrutura básica para funcionamento da interface gráfica do usuário das aplicações instaladas no smartphone. Arquitetura de Comunicação Consiste em APIs para implementar comunicação de dados. Inclui comunicação por TCP/IP através da operadora de telefonia móvel, bem como protocolos de comunicação através de Bluetooth, infravermelho, USB, SMS, MMS e serviços de . Middlewares Inclui diversas outras APIs para outros tipos de funcionalidades, como por exemplo, execução/manipulação de conteúdo multimídia Interfaces do usuário do Sistema Operacional Symbian As diferentes interfaces de usuário para o SO Symbian foram planejadas e projetadas para permitir que os fabricantes possam produzir uma gama de telefones com diferentes estilos. A divisão entre estas interfaces é feita através dos recursos disponíveis em cada tipo de dispositivo. Conforme EDWARDS [6], existem três categorias, sendo elas S60 (conhecida como Série 60), Série 80 e UIQ. Havia uma quarta categoria, a Série 90, porém esta agora faz parte da S60.

25 S60 S60 é a série constituída por um conjunto de bibliotecas e aplicativos padrão, destinados a fornecer telefones celulares mais modernos e cheios de recursos, como telas coloridas maiores, e conteúdo multimidia (i.e. sons, vídeos, imagens), amplamente conhecidos como smartphones. Quando falamos em S60 associamos diretamente esta série aos telefones celulares produzidos pela Nokia, a qual é a maior fabricante que utiliza este SO, embora esteja licenciada para telefones celulares de outros fabricantes como BenQ- Siemens, Samsung e Panasonic. A Figura 1 apresenta alguns telefones celulares da série S60. A esta série também está atribuida a utilização de um teclado do tipo ITU-T, o qual é o teclado tradicional da maioria dos telefones celulares, composto por doze teclas, sendo elas os números de 0 à 9, a tecla asterisco (*) e a tecla sustenido (#) Série 80 Figura 1 - Exemplos de Telefones Celulares da série S60. A série 80 foi projetada principalmente para dispositivos de usuários voltados a área de negócios, onde é necessário acessar, visualizar e manipular dados usando telas maiores, com resolução mínima de 640x200px.

26 26 Também é conhecida pela utilização de teclados completos, do tipo QWERTY, similar aos teclados utilizados em computadores comuns. Atualmente somente a Nokia produz telefones para a Série 80, cujo dispositivo é "dobrável", onde o teclado e a tela maior ficam no interior do aparelho, quando este se encontra fechado, conforme Figura User Interface Quartz (UIQ) Figura 2 - Nokia 9210i, com SO da Série 80. Os telefones celulares baseados em UIQ possuem uma interface de usuário baseada em telas sensíveis ao toque (i.e. touch screen) ou ainda com utilização a partir de uma caneta. Possuem resolução mínima de 320x240px com no mínimo 12 ou 16 bits de cor. Os principais dispositivos que utilizam UIQ são produzidos pela Sony Ericsson, Motorola e BenQ-Siemens. A Figura 3 mostra um modelo produzido utilizando a interface UIQ. Note que a presença de teclado físico não é obrigatória nos dispositivos. Figura 3 - Motorola Z10 com interface UIQ.

27 Linguagens de programação suportadas O SO Symbian é um sistema muito versátil, pois permite a utilização de várias linguagens de programação para o desenvolvimento dos aplicativos, onde se destacam o Symbian C/C++, JavaME, FlashLite, Perl, Python, Ruby, Lua e Acelarometer. Este trabalho utiliza-se de dispositivos pertencentes à série S60 do Symbian. Portanto, será utilizada a linguagem de programação Java 2 Micro Edition (J2ME), pois esta apresenta vários recursos e bibliotecas para o desenvolvimento dos aplicativos e também por haver uma grande documentação de suporte para esta linguagem. No Capítulo 2 são abordados, a seguir, detalhes sobre o J2ME. Este capítulo apresentou uma introdução sobre o sistema operacional Symbian, seu histórico, arquitetura, suas séries, as quais os telefones celulares se subdividem e as linguagens de programação suportadas para o desenvolvimento. O Capítulo 2 apresenta conceitos sobre a linguagem de programação J2ME (Java 2 Micro Edition) com suas subdivisões caracterizados por Configurações e Prefis, como descritos a seguir.

28 28 2. J2ME JAVA 2 MICRO EDITION J2ME ou Java 2 Micro Edition é uma tecnologia que possibilita o desenvolvimento de software para sistemas e aplicações embarcadas, ou seja, para as aplicações que rodam em dispositivos portáteis, como por exemplo, os PDAs, telefones celulares e controles remotos, pois eles possuem recursos e funções limitadas. Java ME é uma coleção de APIs do Java definidas através da Java Community Proccess (JCP). Em [7], MUCHOW afirma que J2ME é um pacote padrão de utilidades para desenvolvimento de aplicações para dispositivos móveis, na qual permite o uso dos perfis Mobile Information Device Profile (MIDP) 1.0, 2.0, 2.1 nas configurações Connected Limited Device Configuration (CLDC) e Connected Device Configuration (CDC). As aplicações que são executadas nesses dispositivos têm funcionamento diferenciado das aplicações desenvolvidas para servidores ou desktop. A interação do usuário com o dispositivo pode ocorrer a qualquer hora do dia, em qualquer lugar, pois o usuário terá em mãos o dispositivo e o mesmo pode precisar integrar com algum tipo de serviço, desde que para isto se tenha disponível cobertura de rede sem fio, seja ela por wireless ou até mesmo serviços de navegação oferecidos por operadoras de celular Arquitetura do J2ME A arquitetura do J2ME é dividida em quatro camadas, sendo elas Perfis, Configurações, Máquinas Virtuais e Sistema Operacional [8], de acordo com a Figura 4.

29 29 Figura 4 - Arquitetura J2ME Na primeira das camadas temos o sistema operacional hospedeiro, que é o SO instalado no dispositivo móvel, como o Symbian, enfoque principal deste trabalho. Na segunda camada temos a máquina virtual, conhecida como Kilobyte Virtual Machine (KVM), que é uma máquina virtual desenvolvida para a família de dispositivos telefônicos e celulares, especialmente implementada para executar programas em dispositivos com pouca capacidade computacional (i.e. memória e processador limitados). Na terceira camada são definidas as configurações, que são conjuntos de classes, bibliotecas e APIs que definem os recursos necessários para o funcionamento da máquina virtual, bem como as funcionalidades básicas para cada categoria de dispositivos. Na última camada são delimitados os perfis, que são conjuntos de aplicações cuja finalidade é complementar uma configuração e fornecer funcionalidades adicionais para desenvolver um aplicativo para um determinado dispositivo. É possível inserir no topo das camadas o item APIs opcionais. Estas APIs são utilizadas em conjunto com as configurações e perfis para estender as funcionalidades não encontradas nestes, como por exemplo, utilização de Bluetooth, Wireless e Web Services (WS).

30 30 Virtuais. A seguir serão abordados os conceitos de Configurações, Perfis e Máquinas 2.2. Configurações O conceito de configuração foi criado para dividir em espécie de categorias a ampla variedade de dispositivos móveis disponíveis para os usuários. O objetivo de uma configuração é definir um padrão de ambiente de execução de programas de acordo com suas características de hardware. Cada configuração consiste em uma JVM com uma coleção de classes Java. Em [7], MUCHOW mostra que: Uma configuração define uma plataforma Java para uma ampla variedade de dispositivos. Ela está intimamente vinculada a uma máquina virtual Java (JVM, Java Virtual Machine). Na verdade, uma configuração define os recursos da linguagem Java e as bibliotecas Java básicas da JVM para esta configuração em particular. As configurações são divididas basicamente pelos recursos de hardware disponíveis nos dispositivos móveis, como a quantidade de memória, o poder de processamento, a capacidade de vídeo e a conectividade de rede, entre outras. A arquitetura J2ME apresenta atualmente dois tipos de configurações, como descritos a seguir: Connected Limited Device Configuration (CLDC) Sendo 1.1 sua versão atual, a CLDC, ou, Configuração de Dispositivo Conectado Limitado, abrange dispositivos com grandes restrições referentes à memória, processamento, capacidade gráfica, tamanho da tela, conexões de rede e duração da bateria. Fazem parte desta configuração basicamente telefones celulares, smartphones, PDAs e pagers. Esta configuração será utilizada no decorrer deste trabalho.

31 31 Os recursos de hardware são apresentados conforme [8]: Processador de 16-Bit ou 32-Bit com velocidade de 16 MHz ou superior; Memória não-volátil de 160 KB; Memória RAM de 192 KB para a plataforma Java; Possibilidade de conexão com redes sem fio. O mesmo autor apresenta as quatro classes disponíveis nesta configuração: java.io - Tratamento de entrada e saída de dados; java.lang - Classes básicas da linguagem Java. java.util - Classes de utilidades genéricas (estrutura e manipulação de dados). java.microedition.io - Exclusivo do J2ME, incluindo as classes de conexão. A CLDC disponibiliza também alguns pacotes adicionais que podem ser utilizados em alguns dispositivos para dar suporte a outras funções, como por exemplo, a execução de conteúdo multimídia (i.e. músicas, imagens, vídeos). A máquina virtual compatível com a CLDC é a K Virtual Machine (KVM), ou ainda, Máquina Virtual K. A KVM é uma versão limitada da Java Virtual Machine (JVM). MUCHOW [7] explica que: A KVM foi projetada para ser a menor e a mais eficiente possível, e ainda permanecer rápida para as necessidades da linguagem Java. Com a memória sendo normalmente um recurso precioso em dispositivos pequenos de recursos restritos, a base de tempo de execução é de apenas 60 kilobytes (aproximadamente). O que explica a origem do K no nome KVM, pois a máquina virtual executará em apenas algumas dezenas de kilobytes de memória Connected Device Configuration (CDC) A segunda configuração é a CDC, ou ainda, Configuração de Dispositivo Conectado, cuja versão atual é a 1.1.2, abrange dispositivos com mais capacidade de hardware do que os disponíveis na configuração CLDC (i.e. Televisores do tipo Set-Top Box, navegadores veiculares e PDAs topo de linha).

32 32 Hardware básico [8]: Processador de 32-Bit; Memória não-volátil de 2.5 MB; Memória RAM de 2 MB ou superior. Por não haver tanta limitação de hardware, a máquina virtual que a CDC utiliza é a máquina virtual tradicional do Java 2 Standart Edition, a qual permite a utilização de todos os recursos da linguagem Java. Esta configuração também permite a utilização de pacotes opcionais, sendo eles o suporte a Remote Method Invocation (RMI), Java Database Connectivity (JDBC), Swing e Java 2D. Mesmo a divisão destas duas configurações parecendo ser bem definidas, a evolução dos dispositivos e a melhoria de seus recursos ocasionam uma sobreposição, dificultando sua classificação. Neste sentido, a Sun introduziu o conceito de perfil, como descrito a seguir Perfis MUCHOW [7] define um perfil como uma extensão de uma configuração. Ele fornece as bibliotecas para um desenvolvedor escrever aplicativos para um tipo particular de dispositivo. Um perfil especifica vários tipos de serviços e funcionalidades de alto nível, como o ciclo de vida da aplicação, elementos de interface gráfica, persistência de dados e meios de comunicação. Um perfil é implementado no topo de uma configuração, sendo assim, intimamente ligado a esta, porém compreende bibliotecas mais específicas que as disponibilizadas pelas configurações, ou seja, o perfil complementa a configuração adicionando classes que fornecem características apropriadas para um tipo particular de dispositivos. [9].

33 33 Os perfis são divididos entre as configurações da seguinte forma: Configuração CDC possui os seguintes perfis: Foundation Profile (FP); Personal Basis Profile (PBP); Personal Profile (PP) e a configuração CLDC possui o perfil Mobile Information Device Profile (MIDP) Foundation Profile (FP) FP é um perfil básico da configuração CDC, o qual possui um conjunto de APIs Java para dispositivos que não possuem interface gráfica, ou seja, para dispositivos de hardware embutido. [10] Requisitos Mínimos: 512 KB de memória RAM; 1 MB de memória ROM; Conectividade com algum tipo de rede Personal Basis Profile (PBP) O PBP também é um perfil da configuração CDC, sendo mais completo que o FP, suportando dispositivos que tenham interface gráfica. Destina-se a ser usado em dispositivos que possuem uma capacidade de interface de usuário simples e, portanto, não permite que mais de uma janela esteja ativa simultaneamente em outra janela. Apresenta basicamente os mesmo requisitos do FP. [11] Personal Profile (PP) É o perfil mais completo e utilizado da configuração CDC. Inclui todas as funcionalidades dos perfis FP e PBP com suporte a applets e Abstract Window Toolkit (AWT, API padrão para interface gráfica do usuário). [12]

34 34 Requisitos Mínimos: 1 MB de memória RAM; 2,5 MB de memória ROM; Conectividade mais robusta com algum tipo de rede; Interface gráfica do usuário (GUI) Mobile Information Device Profile (MIDP) O perfil MIDP é o único perfil compatível com CLDC e implementa componentes, entrada e tratamento de eventos de interface com usuário, armazenamento persistente, interligação em rede, segurança, entre outros recursos. Sua última versão é a 2.1 e, por ser um perfil pertencente à configuração mais simples, contempla apenas os dispositivos com hardware mais limitado (i.e. telefones celulares, smartphones), objetos em estudo neste trabalho. Requisitos mínimos: 512 KB de memória ROM + RAM para bibliotecas e Java; Conectividade com algum tipo de rede; Interface gráfica com recursos variados entre os dispositivos. JOHNSON [8] salienta que: O MIDP apresenta diversas funcionalidades, como suporte aos protocolos de rede do tipo HTTP e sockets, reprodução de multimídia, definição de formulários e itens, APIs para jogos, suporte ao sistema de cores RGB e validação de permissões de segurança e assinaturas virtuais. anteriormente. A seguir, a Tabela 2 apresenta a comparação dos quatro perfis descritos

35 35 Perfil Configuração Última Versão Processador ROM RAM Outros Dispositivos Foundation Profile CDC bits > 1MB > 512 KB Rede Hardware Embutido Personal Basis Profile CDC bits > 1MB > 512 KB Rede Interface Gráfica Hardware Embutido com Interface Gráfica Personal Profile CDC bits > 2,5 MB > 1 MB Rede Robusta Interface Gráfica AWT Hardware Embutido com Interface Gráfica AWT Mobile Information Device Profile CLDC 2.1 > 16MHz 16 ou 32 bits > 512 KB Rede Interface Gráfica Celulares Smartphones Tabela 2 - Comparação entre perfis das configurações CDC e CLDC Fonte: Do autor. Após analisar as configurações e perfis existentes na classificação dos dispositivos, definimos o perfil a ser utilizado no escopo principal deste trabalho, que é desenvolver aplicações para telefones celulares. Portanto, define-se como configuração a CLDC e como perfil, o MIDP, detalhado a seguir, no Capítulo 3. Este capítulo apresentou a linguagem J2ME e suas particularidades. O Capítulo 3, a seguir, descreve detalhadamente o perfil MIDP (Mobile Information Device Profile), apresentando os MIDlets, que são as aplicações desenvolvidas.

36 36 3. MOBILE INFORMATION DEVICE PROFILE - MIDP Neste capítulo, serão apresentadas algumas características do Perfil de Dispositivo de Informação Móvel (MIDP), ou simplesmente Perfil MID. Dando continuidade ao conteúdo exposto no Capítulo 2.3.4, será mostrado a API microedition, os MIDlets e a interface gráfica API microedition A API microedition é o conjunto de pacotes para utilização somente em um perfil MIDP. JOHNSON [8] apresenta os cinco pacotes que compõem a API, conforme Tabela 3. Pacote javax.microedition.midlet.* javax.microedition.lcdui.* javax.microedition.lcdui.game.* javax.microedition.rms.* javax.microedition.pki.* Definição Define as aplicações MIDP e a interação entre a aplicação e o ambiente de execução. Fornece as classes para implementação da interface gráfica. Fornece as classes para desenvolvimento de Jogos. Fornece as classes usadas para implementar armazenamento de dados no dispositivo. Permite uso de autenticação para comunicações seguras. Tabela 3 - Pacotes da API microedition.

37 37 Como o perfil MIDP faz parte da configuração CLDC, os pacotes disponíveis para esta configuração também ficam disponíveis para o perfil. A Tabela 4 apresenta estes pacotes adicionais [8]. Pacote java.lang java.io java.util javax.microedition.io Definição Classes fundamentais da linguagem Java Classes de entrada e saída, arquivos Utilidades, Data, Hora, entre outros Conexões de rede Tabela 4 - Pacotes adicionais do CLDC MIDlets Todos os dispositivos móveis possuem um Application Manager Software (AMS) cuja finalidade é controlar os aplicativos a serem instalados, definindo onde, quando e como serão armazenados e executados. A comunicação do gerenciador com o MIDlet acontece através da classe MIDlet presente no pacote javax.microedition.midlet.midlet. Esta classe é herdada pelos MIDlets para que os métodos de inicialização, pausa, resumo e interrupção da execução destes possam ser realizados. MUCHOW [7] define uma MIDlet como: Um aplicativo Java projetado para ser executado em um dispositivo móvel. Mais especificamente, uma MIDlet tem como classe Java básicas a CLDC e o MIDP. Um conjunto de MIDlets consiste em uma ou mais MIDlets empacotadas usando um arquivo Java Archive (JAR) Ciclo de vida de um MIDlet O ciclo de vida de uma aplicação desenvolvida em J2ME é gerenciado pela classe MIDlet. VINAGRE e VIANA [13] descrevem que um MIDlet pode assumir um dos três estados: ativo, pausado e destruído, conforme Figura 5.

38 38 Figura 5 - Ciclo de vida de um MIDlet Ativo: Quando o MIDlet está em execução; Pausado: Coloca o MIDlet em estado de pausa, disponibilizando os recursos do celular para outras atividades. Destruído: Quando a MIDlet encerrou suas atividades e liberou todos os recursos utilizados por este. A classe MIDlet provê três métodos abstratos que são obrigatoriamente utilizados pela aplicação. São eles: startapp(), pauseapp() e destroyapp() [13]. startapp() - Chamado depois do construtor. Mudar o estado de inativo para ativo, tornando o aplicativo visível. Como este método é chamado toda vez que a aplicação inicia ou volta do estado pausado, é recomendável evitar colocar códigos de inicialização que só possa ser rodado uma única vez. pauseapp() Informa ao aplicativo que este será pausado, ou seja, deixará de ser executado, geralmente para dar lugar a outra aplicação (i.e. chamada recebida pelo celular), uma vez que a maioria dos dispositivos móveis não suporta várias aplicações executando simultaneamente.

39 39 destroyapp() Este método é chamado quando a aplicação estiver prestes a ser encerrada e só pode ser executado apenas uma vez. Deve-se implementar neste método uma forma de efetuar uma limpeza nos objetos criados pela aplicação, uma vez que o MIDP não possui esta capacidade. Resumidamente, uma aplicação inicia quando o AMS executa o método startapp(), passando o aplicativo do estado inativo para o estado ativo. Neste estado o usuário utiliza a aplicação normalmente. Caso ocorra uma ligação telefônica, por exemplo, o AMS pode executar o método pauseapp() e passar o aplicativo do estado ativo para o estado pausado. Ao finalizar a ligação, o AMS executa o método startapp() novamente e o aplicativo passa para o estado ativo novamente. Quando o usuário deseja encerrar o aplicativo, o AMS executa o método destroyapp() para que sejam liberados os recursos utilizados por este, e para que o telefone celular possa assumir outras aplicações. MUCHOW [7] afirma que estes três métodos descritos anteriormente são utilizados, no sentido, do gerenciador de aplicativos AMS para o MIDlet. Existem também outros três métodos que partem do MIDlet para o gerenciador AMS. São eles: notifydestroy(): Avisa ao gerenciador que pode desligar a MIDlet. notifypaused(): Envia o pedido de pausa para o gerenciador caso a MIDlet necessite de uma pausa. novamente. resumerequest(): Avisa ao gerenciador que a MIDlet pode tornar-se ativa

40 Midlets Suite Uma MIDlet Suite é o nome dado para a coleção de arquivos e recursos que fazem parte do MIDlet [8]. Esta coleção de arquivos consiste em classes Java empacotadas em um arquivo JAR, juntamente com um arquivo de manifesto, os recursos (i.e. imagens, sons) e um arquivo que descreve a aplicação (descritor), ou seja, o Java Application Descriptor (JAD). Arquivo de Manifesto É um arquivo com extensão.mf, o qual descreve o conteúdo do pacote JAR e é armazenado dentro do próprio JAR. Possui as seguintes informações: nome do pacote, versão, nome, nome do criador, ícone, nome da classe principal, perfil e configuração utilizados pelo MIDlet, além de outras informações opcionais, como descrição e tamanho do MIDlet [8]. Arquivo Descritor O arquivo descritor, ou arquivo JAD possui muitas informações repetidas do arquivo de manifesto, porém eles ficam fora do pacote JAR. Por este motivo, estas informações podem ser acessadas pelo AMS sem que o MIDlet esteja instalado. Caso haja informações diferentes entre o arquivo JAD e o arquivo de manifesto, os atributos do arquivo JAD prevalecem. [8]

41 41 4. INTERFACE GRÁFICA DE UM MIDLET Ao criar aplicativos para o perfil MIDP, o programador encontra grandes problemas quanto à interface gráfica. Geralmente dotados de telas pequenas e com baixa resolução, os dispositivos com configuração CLDC não implementam alguns componentes de uso comum em aplicativos Java que rodam em computadores comuns. A Figura 6, a seguir, mostra a hierarquia de classes da interface gráfica do MIDP [7]. Na sequência, uma breve descrição de cada uma delas com suas respectivas subclasses, disponibilizadas por [7] e [8]. Figura 6 - Hierarquia de Classes de interface gráfica do MIDP. A biblioteca que define os componentes visuais que podem ser utilizados na elaboração das telas dos MIDlets é a javax.microedition.lcdui.*. Os objetos disponíveis são descritos a seguir.

42 42 Os métodos para manipulação dos objetos e das classes dos componentes visuais podem ser consultados na documentação do J2ME, disponível em [15]. Exemplos de utilização e formas de implementação (códigos fontes) serão descritos no capítulo sobre desenvolvimento (Capítulo 5.5.5) Display O objeto Display é o gerenciador da tela de exibição do dispositivo. É ele quem controla o que e quando será exibido na tela. Existe apenas um objeto Display para cada MIDlet, porém neste objeto Display podem ser exibidos diversos objetos, a partir do objeto Displayable Displayable Interface com o usuário de alto nível Os objetos do Displayable são os componentes que podem ser vistos na tela do celular, ou seja, no objeto Display. O MIDP inclui duas subclasses do Displayable. São elas a Screen e o Canvas. A subclasse Screen utiliza componentes de alto nível enquanto a subclasse Canvas é de baixo nível Command A classe Command permite que o usuário interaja com a aplicação. Ela permite adicionar funções relacionadas aos objetos que estão sendo exibidos na tela.

43 43 Os tipos de comandos podem ser: Tipo Descrição Back Comando voltar à tela anterior Cancel Cancelar alguma ação na tela atual Exit Comando para sair da aplicação Help Chama a ajuda do aplicativo* Item Comando específico de um Item na tela * A ajuda deve ser implementada pelo desenvolvedor. Tabela 5 - Tipos de Command 4.4. Ticker Um Ticker nada mais é do que uma mensagem que fica deslizando horizontalmente da direita para esquerda no topo da tela de um MIDlet. Ao terminar de exibir a mensagem, esta reinicia sua exibição automaticamente. O Ticker funciona apenas quando o MIDlet implementa a classe Screen Screen A classe Screen não é uma classe que pode ser visualizada, porém ela possui objetos que são visíveis em qualquer um dos quatro tipos de tela (TextBox, List, Alert, Form), como a seguir TextBox TextBox, ou ainda Caixa de Texto, é uma área de várias linhas onde o usuário pode utilizar como entrada de texto. Permite filtrar o texto digitado como: qualquer texto; endereço de ; numérico; senha (exibe apenas asteriscos); número de telefone e endereços de URL.

44 List List é um tipo de tela que apresenta ao usuário uma lista com itens selecionáveis através do botão de seleção do celular. Ocupa toda a tela do celular e oferece três tipos de interface. Exclusive: exibe uma lista que permite a seleção de apenas um único item. Multiple: exibe uma lista que permite a seleção de mais de um item. Implicit: cada item da lista está associado a um comando que pode executar uma determinada função Alert Um Alert é uma caixa de diálogo que pode conter um texto e uma imagem. Geralmente aparecem apenas por um período de tempo (timeout) antes de exibir outro componente Displayable. O Alert pode assumir um dos cinco tipos: Alarm: Aviso sobre algum evento requisitado pelo usuário. Ex: Nota de calendário. Confirmation: Mostra uma mensagem de confirmação. Error: Exibe uma mensagem de erro. Info: Fornece algum tipo de informação ao usuário. Warning: Exibe uma mensagem para alertar o usuário sobre algum perigo ou aviso Form Form é a tela mais utilizada nos MIDlets. Ela pode conter diversos tipos de itens, como imagens, textos, campos editáveis, entre outros, além de conter Commands para interação com o usuário. Um objeto Form tem métodos para anexar, inserir, substituir e excluir componentes (Itens). Componentes estes que são descritos na sequência.

45 Item objeto Form. Um Item é a superclasse dos elementos que podem ser adicionados em um MUCHOW [7] salienta que: A classe ItemStateListener trabalha junto com um objeto Item. Quando se quer processar eventos em um objeto Item, basta registrar um receptor que receberá uma mensagem, quando um evento ocorrer. O destinatário dessa mensagem é o método itemstatechanged(). Com esse método, você pode determinar qual objeto Item mudou e decidir qual ação gostaria de executar. A Figura 6 - Hierarquia de Classes de interface gráfica do MIDP., mostrada no início deste capítulo, ilustra o componente Item como uma subclasse do Form, o que não ocorre realmente. Esta ilustração é feita apenas para mostrar que um Form aceita diversos Items. A seguir, descrição de cada componente que compõe o Item ChoiceGroup Um ChoiceGroup possui as mesmas características de funcionamento de um List (Capítulo 4.5.2). A principal diferença é que um Item ChoiceGroup não ocupa toda a tela do dispositivo, salvo casos em que há um grande número de itens na lista, ou seja, permite que outros objetos Item sejam adicionados em um mesmo Form. Outra diferença importante é que o ChoiceGroup não implementa o tipo Implicit presente em um List DateField O componente DateField é usado para mostrar a data e a hora na tela do dispositivo. Muitas vezes é necessário usar as classes Date (java.util.date) e Calendar (java.util.calendar) para que seja possível exibir a data e a hora atual. Permite a exibição de apenas a data, apenas a hora, ou os dois simultaneamente.

46 TextField Um TextField é um campo que permite a inserção de caracteres/palavras em um Form. Possui diversos tipos de restrições de entrada que podem ser configurados, como por exemplo, campos que só permitem dados numéricos, alfanuméricos, números decimais, endereços de e URL, senhas, entre outros, forçando ao usuário a digitar apenas o tipo de conteúdo pré-definido Gauge Um componente Gauge é similar a uma barra de progresso presente em vários tipos de aplicações na computação para desktop. Possui duas maneiras de ser atualizado. A primeira delas é pelo modo interativo onde é o usuário que faz a alteração, e a segunda é pelo modo não-interativo, sendo atualizado através da programação. Exemplos práticos seriam o ajuste de volume do dispositivo no primeiro modo e, uma barra como progresso do download de um arquivo no segundo modo ImageItem O objeto ImageItem permite que sejam inseridas uma ou mais imagens na tela do dispositivo a partir de um objeto Image. Este objeto Image pode estar armazenado no pacote da aplicação, ou pode ser baixado da internet StringItem StringItem é um objeto cuja finalidade é inserir um Item que contenha uma String. Este objeto apenas insere a palavra ou texto, ou seja, não permite que o usuário possa editá-lo, como ocorre com o TextField. Somente é possível alterar seu conteúdo através da programação do MIDlet.

47 Canvas Interface com o usuário de baixo nível Canvas é uma subclasse de Displayable que permite a implementação de gráficos e eventos. É uma classe de baixo nível e destina-se a aplicações que necessitem de um posicionamento mais preciso dos elementos, sendo utilizada principalmente para a criação de jogos. Também fornece métodos para tratamento de eventos de baixo nível e utiliza objetos Graphic para desenhar na tela Graphics Os objetos Graphics são utilizados para formar desenhos na tela. Possuem métodos para desenhar arcos, retângulos, linhas, imagens e texto, juntamente com métodos que permitem manipular cores em RGB (Red, Green, Blue). Estes objetos podem ser alinhados/posicionados de acordo com coordenadas X e Y que representam os pixels na tela. Este capítulo apresentou os recursos disponíveis na tecnologia J2ME para o desenvolvimento de MIDlets do perfil MIDP. No Capítulo 5 serão abordadas as ferramentas necessárias para o desenvolvimento destas MIDlets, bem como instruções básicas para sua programação.

48 48 5. AMBIENTE DE DESENVOLVIMENTO 5.1. JDK - Java Development Kit O JDK é um kit de desenvolvimento Java fornecido gratuitamente pela Sun Microsystems. É formado por um conjunto de programas que engloba compilador, interpretador e utilitários, os quais fazem parte de um pacote de ferramentas básicas para o desenvolvimento de aplicações Java. Este kit provê uma plataforma Java na qual o Sun Java Wireless Toolkit será executado. É um software obrigatório para qualquer tipo de desenvolvimento que envolva Java Baixando e instalando o JDK O pacote de instalação pode ser adquirido no site da fabricante, a Sun Microsystems, no seguinte endereço: A última versão disponível é a versão 6 update 22, no caso da plataforma Windows 64 bits. Selecionar a opção Java Platform (JDK), como na Figura 7.

49 49 Figura 7 - Seleção da JDK para download. Na página seguinte, selecionar a versão do sistema operacional e o idioma e clicar em Continue (Figura 8). Figura 8 - Seleção de plataforma e idioma do JDK. A seguir, será exibido o link para o download do JDK (Figura 9). Figura 9 - Link para download do JDK. A instalação do JDK, na plataforma Windows, segue o mesmo padrão de qualquer outra aplicação comum. Para continuar, basta executar o arquivo baixado anteriormente e seguir as instruções na tela.

50 Configurando as variáveis de ambiente Ao seguir a instalação padrão, o JDK será instalado no diretório C:\Program Files\Java\jdk1.6.0_22. Neste momento é necessário adicionar o diretório bin do JDK à variável path nas variáveis de ambiente do sistema. No Windows 7, acessar Painel de controle Sistema Configurações avançadas do sistema Variáveis de ambiente, localizar a variável path e adicionar o endereço da JDK (Figura 10). Figura 10 - Variáveis de ambiente do Windows. Para testar se tudo foi instalado corretamente, abrir o prompt de comando do Windows e digitar o comando java -version sem as aspas (Figura 11). Deverá aparecer a versão do Java instalado no computador. Figura 11 - Verificando a instalação do Java.

51 IDE Netbeans É um programa de computador da Sun sob licença free e possui uma Interface Gráfica com o Usuário (GUI) para desenvolvimento de softwares. As suas ferramentas de desenvolvimento são integradas com as mais recentes tecnologias profissionais para a criação e manutenção de grandes projetos na linguagem Java. O Netbeans é um ambiente integrado de desenvolvimento (IDE) que permite ao programador criar programas utilizando recursos gráficos. Para trabalhar com o NetBeans é necessário ter instalado, anteriormente em sua máquina uma das versões do JDK [15]. É um ambiente de desenvolvimento multiplataforma, uma ferramenta que auxilia programadores a escrever, compilar, debugar e instalar aplicações. Foi arquitetada em forma de uma estrutura reutilizável para simplificar o desenvolvimento e aumentar a produtividade, pois reúne em uma única aplicação todas estas funcionalidades. [16] É completamente escrita em Java, porém suporta, outras linguagens de programação, tais elas como o C, C++, Ruby, PHP, XML e HTML. Como ele é multiplataforma, ele funciona em qualquer sistema operacional, desde que o mesmo possua suporte à Máquina Virtual Java (JVM) Download e instalação do Netbeans O download do Netbeans pode ser feito através do seguinte endereço: Para desenvolver aplicações para dispositivos móveis utilizando o perfil MIDP é necessário que o Netbeans possua o pacote Java ME. A Figura 12 mostra todas as opções de download. Deve-se escolher a versão Java ou a versão Tudo, devido à presença deste pacote.

52 52 Figura 12 - Versões do Netbeans. Após baixar o arquivo de instalação, executar e seguir os passos na tela em uma instalação padrão. Durante a instalação, será exibida a Figura 13. Nesta tela, geralmente aparecerá automaticamente o endereço da JDK instalada anteriormente. Caso isto não aconteça, é provável que haja problemas na instalação do JDK. Poderá ser feita a localização do JDK manualmente, através dos botões Procurar. Figura 13 - Localização do JDK durante a instalação do Netbeans.

53 53 Após a instalação, o Netbeans está pronto para ser utilizado. A figura a seguir mostra a interface principal do Netbeans. Figura 14 - Tela principal do Netbeans Wireless Toolkit O Wireless ToolKit (WTK) é uma ferramenta fornecida pela Sun Microsystems para o desenvolvimento de aplicativos para celulares. Ele dispõe de um compilador e um emulador do aparelho celular, onde é possível configurar a velocidade da CPU do aparelho e o fluxo de rede, para que a emulação seja a mais próxima possível do real, já que computadores possuem muito mais memória e CPU e nem sempre o desenvolvedor dispõe do aparelho celular para instalar e testar o aplicativo. Este kit acompanha o Netbeans e não tem a necessidade de ser instalado separadamente.

54 Por que utilizar o Netbeans? O Netbeans não é a única IDE para desenvolvimento de aplicativos em J2ME. Existem diversas outras, como por exemplo, o Eclipse, EclipseME, GEL, entre outros. A IDE Eclipse também é muito robusta frente à programação para J2ME. O diferencial de ter utilizado o Netbeans neste projeto é que ele já contém todos os pacotes para programação e ainda contém o WTK, indispensável para testes de aplicações. Utilizando o Netbeans, o usuário não necessitará instalar pacotes adicionais e plugins, tampouco precisará criar manualmente os arquivos necessários para executar a aplicação diretamente no celular, pois este apresenta ferramentas que fazem este papel de forma automatizada Criando um novo projeto no Netbeans Com o Netbeans aberto, acessar o menu Arquivo Novo projeto. Figura 15 - Novo projeto no Netbeans. Selecionar a categoria Java ME e em projetos, selecionar Aplicativo móvel. Clicar em próximo.

55 55 Figura 16 - Seleção do tipo de projeto no Netbeans. Na tela seguinte, preencha com o nome do projeto e o local onde este projeto será armazenado. A Opção Configurar como projeto principal irá apenas manter este novo projeto como se fosse o projeto padrão do Netbeans (dos projetos que estiverem abertos). A vantagem é que ao utilizar os botões de atalho (i.e. compilação, execução), suas respectivas funções terão efeito neste projeto padrão. A Opção Criar MIDlet Olá insere automaticamente uma MIDlet com sua estrutura básica de funcionamento. Optar por desmarcar esta opção evita que sejam inseridos códigos inúteis no MIDlet.

56 56 Figura 17 - Propriedades da nova aplicação no Netbeans. Após as informações iniciais da aplicação, seleciona-se a plataforma do emulador. Como há apenas a plataforma Wireless Toolkit, apenas esta opção estará disponível. Selecionar também CLDC-1.1 e MIDP-2.1 para obter o máximo de recursos disponíveis para a configuração CLDC no perfil MIDP. Em alguns casos será necessário selecionar a opção MIDP 2.0, pois alguns telefones celulares não suportam o MIDP-2.1.

57 57 Figura 18 - Seleção da Plataforma no Netbeans. Na última tela antes de finalizar a criação do projeto, existem opções para mais configurações sobre o projeto. Neste caso não há necessidade de alterar nenhuma opção. Clicar em Finalizar para continuar. Figura 19 - Configurações finais do projeto.

58 58 Netbeans. Após criar o protejo, o mesmo pode ser visualizado na coluna à esquerda do Figura 20 - Exibição do projeto criado no Netbeans. Para criar o primeiro MIDlet, ou seja, a primeira tela do aplicativo, clicar com o botão direito em pacote padrão, apontar para o menu Novo e clicar na opção MIDlet. Preencher os campos com o Nome do MIDlet. O nome da classe é preenchida automaticamente.

59 59 Figura 21 - Criação de um MIDlet no projeto do Netbeans. O Netbeans passa a exibir o código fonte do novo MIDlet criado. Neste código fonte está presente a estrutura mínima de funcionamento do MIDlet, com os três principais métodos descritos no Capítulo Figura 22 - MIDlet criado no projeto.

60 60 Para iniciar a programação, segue o código de exemplo criado no novo MIDlet, alguns elementos, e os comentários explicativos. //importa a classe midlet import javax.microedition.midlet.*; //importa a classe lcdui import javax.microedition.lcdui.*; /** Fabio */ //Classe principal do MIDlet estendida de MIDlet e //implementando CommandListener (para executar comandos) public class PrimeiraMIDlet extends MIDlet implements CommandListener { //Cria um objeto do tipo Form private Form meuformulario; //Cria um comando (neste caso, para sair do aplicativo) private Command saircommand; //Construtor criado para executar as funções apenas uma vez //durante a primeira execução do MIDlet. public PrimeiraMIDlet() { //Instancia o objeto com um novo Form e seu título meuformulario = new Form("Título da minha primeira MIDlet"); //Adiciona um texto ao Form meuformulario.append("aqui está meu primeiro texto!"); //Cria um comando, neste caso, o sair saircommand = new Command("Sair", Command.EXIT, 0); //Adiciona o comando ao formulário meuformulario.addcommand(saircommand); //Adiciona o "monitoramento" de comandos meuformulario.setcommandlistener(this); } //Método executado quando o MIDlet é iniciado pela primeira vez //ou quando este retorna do estado Pausado. public void startapp() { //Captura o Display do celular e adiciona o //Form criado para exibição. Display.getDisplay(this).setCurrent(meuFormulario); } //Método executado quando o MIDlet vai entrar em estado Pausado. public void pauseapp() { } //Método executado antes de finalizar o MIDlet. public void destroyapp(boolean unconditional) { //Avisa o SO que este pode controlar o display novamente this.notifydestroyed(); } } //Permite que a aplicação saiba quando um comando foi acionado public void commandaction(command c, Displayable d) { //Compara o comando solicitado e executa a ação programada if (c == saircommand) { destroyapp(true); } } Quadro 1 - Código fonte Aplicação de Exemplo

61 Executando a aplicação no Wireless Toolkit (WTK) Após elaborar o primeiro MIDlet, é possível verificar seu comportamento como se estivesse em um dispositivo real, utilizando o emulador do WTK. O Netbeans dispõe de ferramentas que auxiliam neste processo de forma automatizada, transparente ao usuário. Acessar o menu Executar Executar o projeto principal ou pressionar a tecla F6. Estas duas opções funcionam somente se o projeto o qual se quer executar está configurado como projeto principal no Netbeans. Caso contrário, deve-se clicar com o botão direito no projeto e selecionar no submenu, o item executar. A Figura 23 mostra o MIDlet sendo executado no emulador do WTK. Podese perceber o título, o texto e o comando Sair adicionados ao MIDlet. Figura 23 - MIDlet sendo executado no emulador do WTK.

62 62 Vale lembrar que o emulador do WTK simula a execução do MIDlet, e esta geralmente é diferente de um dispositivo real, pois trata-se de um emulador genérico. Para que as aplicações sejam o mais parecido com o real, é necessária a instalação de outra ferramenta, chamada de Software Development Kit (SDK), conforme disposto a seguir Software Development Kit (SDK) Um SDK emula o comportamento dos telefones celulares de um determinado fabricante com a máxima semelhança possível do dispositivo real, pois possuem emuladores baseados no mesmo software que são especificados nestes dispositivos. Como o foco deste trabalho é criar aplicações para telefones celulares com SO Symbian da série S60, mais especificadamente o modelo Nokia N81, é necessário instalar o S60 3rd Edition SDK for Symbian OS, Feature Pack 2. Os passos de para download, instalação e utilização são mostrados a seguir Software S60 3rd Edition FP2 SDK Para realizar os testes de implementação sem que seja necessário instalar o aplicativo no celular, é utilizado o software emulador S60 3rd Edition FP2 SDK da Nokia, disponível de forma gratuita aos desenvolvedores de software. Este emulador (Figura 24) simula as condições e recursos reais dos aparelhos celulares da série S60 da Nokia, para que as aplicações sejam testadas e utilizadas como se estivessem realmente instaladas em um dispositivo real, o que fornece mais comodidade e confiabilidade ao se programar em J2ME [17].

63 63 Figura 24 - Emulador da Nokia S60 3rd Edition FP2 SDK Download e instalação do SDK S60 3rd Edition, FP2 A Nokia [17] possui o melhor site de suporte ao desenvolvimento de aplicativos para celular. Disponibiliza todas as ferramentas necessárias para a programação em seus telefones celulares, bem como uma vasta documentação sobre cada um deles e ainda, um fórum onde programadores de todo o mundo podem trocar experiências e auxiliar quem necessita de ajuda durante o desenvolvimento. Para efetuar o download do SDK, acessar a página 19e9c/S60_All_in_One_SDKs.html e selecionar a série desejada, conforme Figura 25.

64 64 Figura 25 - Download do SDK Nokia S60 3rd Edition FP2 Após o download, executar o arquivo. A instalação também segue o padrão de instalação do Windows. Caso aparecer a mensagem da Figura 26, é necessária a instalação do ActivePerl, pois o SDK produzido pela Nokia utiliza a linguagem Perl para ser executada. Figura 26 - Solicitação de instalação do ActivePerl. O Download do ActivePerl pode ser feito no site oficial do ActivePerl [18]. Sua instalação também é muito simples, seguindo o padrão do Windows. Após a instalação é necessário configurar o Netbeans para reconhecer a nova plataforma.

65 Adicionando a plataforma S60 ao Netbeans Para utilizar o SDK, este deve ser reconhecido como plataforma pelo Netbeans. Para efetuar este reconhecimento, deve-se acessar o menu Ferramentas Plataformas Java, na tela principal do Netbeans. Na Figura 27, clicar em Adicionar plataforma. Figura 27 - Adicionar Plataforma ao Netbeans. (Figura 28). Na tela seguinte, marcar a opção Emulador de plataforma MIDP Java ME

66 66 Figura 28 Tipos de Plataformas no Netbeans. Na janela de seleção de diretórios do Windows, selecionar o diretório onde está instalada a plataforma do S60, geralmente em C:/S60. Neste ponto o Netbeans irá procurar e selecionar as plataformas. Clicar em próximo e logo após em finalizar. O Netbeans já está configurado e pronto para utilizar a nova plataforma Executando a aplicação na Plataforma S60 Existem duas maneiras de executar a pequena aplicação desenvolvida no Capítulo 5.3. A primeira delas é clicar com o botão direito no projeto e clicar em Executar com. Agora é necessário selecionar a plataforma S60, conforme Figura 29. Figura 29 - Seleção de plataforma para execução do MIDlet.

67 67 Será exibido o emulador com o MIDlet sendo executado. É visível a diferença do MIDlet apresentado neste emulador (Figura 30) em relação ao emulador do WTK (Figura 23). Figura 30 - MIDlet sendo executado no emulador do S60. A posição dos elementos do MIDlet apresentado no emulador do S60 são semelhantes aos apresentados em um dispositivo real, o Nokia N81 (Figura 31). O que difere do emulador para o celular são as configurações de temas do celular. Figura 31 - MIDlet sendo executado no celular Nokia N81

68 68 A segunda maneira de executar esta MIDlet, porém agora de forma permanente, é configurar o projeto para utilizar apenas determinada plataforma. Desta forma, toda vez que utilizar os comandos de execução, o MIDlet será executado na plataforma escolhida. Para efetuar esta configuração, deve-se clicar com o botão direito no projeto e selecionar o item propriedades. Na tela exibida (Figura 32 - Configuração de plataforma no projeto do Netbeans.), Escolher a Plataforma do emulador com o item S60 3rd Edition FP2 SDK e em Dispositivo selecionar S60Emulator. Figura 32 - Configuração de plataforma no projeto do Netbeans. Para instalar o aplicativo em um dispositivo real, basta copiar os arquivos com extensão.jad e.jar disponíveis na pasta dist dentro do diretório onde se encontra o projeto do Netbeans. Caso estes arquivos não existam, é necessário compilar o projeto (menu Executar Construir projeto principal, ou, tecla F11), ou ainda, executá-lo utilizando um emulador pelo menos uma vez.

69 Utilizando os elementos visuais de alto nível Seguindo o mesmo padrão do projeto criado anteriormente, foi criada uma nova MIDlet para mostrar o comportamento dos elementos visuais de alto nível que o J2ME fornece para o perfil MIDP, apresentados no Capítulo TextBox O TextBox é o primeiro elemento. Por se tratar de uma nova aplicação, será mostrado o código completo e sua visualização na tela, utilizando o emulador do S60. Nos demais elementos, serão mostrados apenas trechos de códigos comentados com suas respectivas telas. Ao lado de cada imagem, será exibida uma foto do dispositivo real. //importa a classe midlet import javax.microedition.midlet.*; //importa a classe lcdui import javax.microedition.lcdui.*; /** Fabio */ //Classe principal do MIDlet estendida de MIDlet e //implementando CommandListener (para executar comandos) public class ExemploTextBox extends MIDlet implements CommandListener { //Cria um objeto do tipo TextBox private TextBox meutextbox; //Cria um comando (neste caso, para sair do aplicativo) private Command saircommand; //Cria um objeto Display //private Display display; //Construtor criado para executar as funções apenas uma vez //durante a primeira execução do MIDlet. public ExemploTextBox() { //Cria o objeto TextBox com os seguintes parâmetros: //1 - Título do TextBox //2 - Texto interno, caso necessitar //3 - Quantidade máxima de caracteres //4 - Restrições: Qualquer valor, numérico, texto, senha, URL meutextbox = new TextBox("Título do TextBox", "", 100, TextField.ANY); //Cria o comando para sair da aplicação saircommand = new Command("Sair", Command.EXIT, 0);

70 70 } //Adiciona o comando ao formulário meutextbox.addcommand(saircommand); //Adiciona o "monitoramento" de comandos meutextbox.setcommandlistener(this); //Método executado quando o MIDlet é iniciado pela primeira vez //ou quando este retorna do estado Pausado. public void startapp() { //Captura o Display do celular e adiciona o //Form criado para exibição. Display.getDisplay(this).setCurrent(meuTextBox); } //Método executado quando o MIDlet vai entrar em estado Pausado. public void pauseapp() { } //Método executado antes de finalizar o MIDlet. public void destroyapp(boolean unconditional) { //Avisa o SO que este pode controlar o display novamente this.notifydestroyed(); } } //Permite que a aplicação saiba quando um comando foi acionado public void commandaction(command c, Displayable d) { //Compara o comando solicitado e executa a ação programada if (c == saircommand) { destroyapp(true); } } Quadro 2 - Código fonte TextBox Figura 33 - Exemplo TextBox

71 List //Cria um objeto do tipo List private List meulist; public ExemploList() { //Cria o objeto List com os seguintes parâmetros: //1 - Título do List //2 - Restrições: Exclusivo, Múltiplo, Implícito meulist = new List("Título do List", Choice.EXCLUSIVE); OU meulist = new List("Título do List", Choice.MULTIPLE); OU meulist = new List("Título do List", Choice.IMPLICIT); //Cria as opções da lista meulist.append("opção 1", null); meulist.append("opção 2", null); meulist.append("opção 3", null); meulist.append("opção 4", null); meulist.append("opção 5", null); meulist.append("opção 6", null); } Quadro 3 - Código fonte List Figura 34 - Exemplo List Exclusive, Multiple e Implicit

72 Alert //Cria um objeto do tipo TextBox private Alert meualert; public ExemploAlert() { //Cria o objeto Alert com os seguintes parâmetros: //1 - Título do Alert //2 - Texto ou mensagem do Alert //3 - Imagem do Alert, caso houver //4 - Tipo: Confirmação, Erro, Informação, Aviso meualert = new Alert("Título do Alert", "Esta é uma mensagem de erro!", null, AlertType.ERROR); //Configura o "tempo de vida" do Alert. meualert.settimeout(alert.forever); } Quadro 4 - Código fonte Alert Figura 35 - Exemplo Alert - Erro Form (e seus Items ) ChoiceGroup //Cria um objeto do tipo Form private Form meuformulario; //Cria os objetos ChoiceGroup private ChoiceGroup meuchoicegroupexclusive; private ChoiceGroup meuchoicegroupmultiple; public ExemploFormChoiceGroup() { //Instancia o objeto com um novo Form e seu título meuformulario = new Form("ChoiceGroup"); //Cria um ChoiceGroup do tipo Exclusivo meuchoicegroupexclusive = new ChoiceGroup("ChoiceGroup Exclusivo", Choice.EXCLUSIVE); //Insere os itens no ChoiceGroup meuchoicegroupexclusive.append("opção Exclusiva 1", null); meuchoicegroupexclusive.append("opção Exclusiva 2", null);

73 73 meuchoicegroupexclusive.append("opção Exclusiva 3", null); //Insere o ChoiceGroup no formulário meuformulario.append(meuchoicegroupexclusive); //Cria um ChoiceGroup do tipo Múltiplo meuchoicegroupmultiple = new ChoiceGroup("ChoiceGroup Múltiplo", Choice.MULTIPLE); //Insere os itens no ChoiceGroup meuchoicegroupmultiple.append("opção Múltipla 1", null); meuchoicegroupmultiple.append("opção Múltipla 2", null); meuchoicegroupmultiple.append("opção Múltipla 3", null); //Insere o ChoiceGroup no formulário meuformulario.append(meuchoicegroupmultiple); } Quadro 5 - Código fonte ChoiceGroup Figura 36 - Exemplo ChoiceGroup DateField //importa a classe para trabalhar com datas import java.util.date; public class ExemploFormDateField extends MIDlet implements CommandListener { //Cria um objeto do tipo Form private Form meuformulario; //Cria os objetos DateField private DateField meudatefielddate; private DateField meudatefieldtime; private DateField meudatefielddatetime; //Construtor criado para executar as funções apenas uma vez durante a //primeira execução do MIDlet. public ExemploFormDateField() { //Instancia o objeto com um novo Form e seu título meuformulario = new Form("DateField"); //Data atual do sistema (celular) Date dataatual = new Date();

74 74 //Cria um DateField do tipo DATE com os seguintes parâmetros: //1 - Título do DateField //2 - Tipo: Data, Hora, Data e Hora meudatefielddate = new DateField("DateField Date", DateField.DATE); //Insere a data atual meudatefielddate.setdate(dataatual); //Insere o DateField no formulário meuformulario.append(meudatefielddate); //Cria um DateField do tipo TIME com os seguintes parâmetros: //1 - Título do DateField //2 - Tipo: Data, Hora, Data e Hora meudatefieldtime = new DateField("DateField Time", DateField.TIME); //Neste exemplo o próprio usuário digita a hora //Insere o DateField no formulário meuformulario.append(meudatefieldtime); //Cria um DateField do tipo DATE_TIME com os seguintes parâmetros: //1 - Título do DateField //2 - Tipo: Data, Hora, Data e Hora meudatefielddatetime = new DateField("DateField Date_Time", DateField.DATE_TIME); //Insere a data atual meudatefielddatetime.setdate(dataatual); //Insere o DateField no formulário meuformulario.append(meudatefielddatetime); } Quadro 6 - Código fonte DateField TextField Figura 37 - Exemplo DateField //Cria um objeto do tipo Form private Form meuformulario; public ExemploFormTextField() { //Instancia o objeto com um novo Form e seu título meuformulario = new Form("TextField"); //Cria os objetos TextField com os seguintes parâmetros: //1 - Label do TextField //2 - Texto ou mensagem do TextField

75 75 //3 - Quantidade Máxima de Caracteres //4 - Restrições: Qualquer, numérico, texto, senha, URL meuformulario.append(new TextField("Nome: ", "", 25, TextField.INITIAL_CAPS_WORD)); meuformulario.append(new TextField(" ", "", 25, TextField. ADDR)); meuformulario.append(new TextField("Login: ", "", 25, TextField.ANY)); meuformulario.append(new TextField("Senha: ", "", 25, TextField.PASSWORD)); } Quadro 7 - Código fonte TextField Figura 38 - Exemplo TextField Gauge public ExemploFormGauge() { //Instancia o objeto com um novo Form e seu título meuformulario = new Form("TextField"); //Cria um Gauge com os seguintes parâmetros: //1 - Label do Gauge //2 - Interativo: Sim ou não //3 - Valor máximo para referência. Ex: 100 (%) //4 - Valor para exibição. Ex: 75 (%) //Gauge Interativo meuformulario.append(new Gauge("Gauge Interativo", true, 100, 75)); } //Gauge Não-interativo meuformulario.append(new Gauge("Gauge Não-interativo", false, 100, 35)); Quadro 8 - Código fonte Gauge Figura 39 - Exemplo Gauge.

76 ImageItem private Image imagem; public ExemploFormImageItem() { //Instancia o objeto com um novo Form e seu título meuformulario = new Form("TextField"); //Utiliza-se a estrutura try, pois caso a imagem não existir //o MIDlet poderá tratar o erro. Caso contrário, o MIDlet //poderá travar e deixar o dispositivo sem ação forçando o //usuário a desligá-lo Try { imagem = Image.createImage("selo.png"); } catch (IOException ex) { ex.printstacktrace(); } //Insere um ImageItem com os seguintes parâmetros //1 - Label da Imagem //2 - Imagem (arquivo.png) //3 - Layout da imagem: Esquerda, direita, centralizado, default //4 - Texto alternativo: exibe o texto quando a imagem não //puder ser exibida (incapacidade do dispositivo) meuformulario.append(new ImageItem("Informática", imagem, ImageItem.LAYOUT_CENTER, "Informática")); } Quadro 9 - Código fonte ImageItem Figura 40 - Exemplo ImageItem StringItem public ExemploFormStringItem() { //Instancia o objeto com um novo Form e seu título meuformulario = new Form("StringItem"); //Cria o objeto StringItem com os seguintes parâmetros: //1 - Label do StringItem //2 - Texto do StringItem meuformulario.append(new StringItem("Nome: ", "Luis Fabio Faccin")); meuformulario.append(new StringItem(" ",

77 77 } meuformulario.append(new StringItem("Curso: ", "Informática")); meuformulario.append(new StringItem("Ano: ", "2010")); Figura 41 - Exemplo StringItem Exemplo de aplicação: Somar dois números //importa a classe midlet import javax.microedition.midlet.*; //importa a classe lcdui import javax.microedition.lcdui.*; /** Fabio */ //Classe principal do MIDlet estendida de MIDlet e //implementando CommandListener (para executar comandos) public class ExemploSomarDoisNumeros extends MIDlet implements CommandListener { //Cria os objetos private Form meuformulario; private TextField valor1; private TextField valor2; private StringItem resultado; //Cria um comando (neste caso, para sair do aplicativo) private Command saircommand; //Cria um comando para somar os números private Command somarcommand; //Construtor criado para executar as funções apenas uma vez //durante a primeira execução do MIDlet. public ExemploSomarDoisNumeros() { //Instancia o objeto com um novo Form e seu título meuformulario = new Form("Somar 2 Números"); //Instancia os objetos valor1 = new TextField("Número 1: ", "", 5, TextField.NUMERIC); valor2 = new TextField("Número 2: ", "", 5, TextField.NUMERIC); resultado = new StringItem("Resultado: ", null);

78 78 //Insere os objetos no formulário meuformulario.append(valor1); meuformulario.append(valor2); meuformulario.append(resultado); //Cria os comandos saircommand = new Command("Sair", Command.EXIT, 0); somarcommand = new Command("Somar", Command.OK, 0); } //Adiciona os comandos ao formulário meuformulario.addcommand(saircommand); meuformulario.addcommand(somarcommand); //Adiciona o "monitoramento" de comandos meuformulario.setcommandlistener(this); //Método executado quando o MIDlet é iniciado pela primeira vez //ou quando este retorna do estado Pausado. public void startapp() { //Captura o Display do celular e adiciona o //Form criado para exibição. Display.getDisplay(this).setCurrent(meuFormulario); } //Método executado quando o MIDlet vai entrar em estado Pausado. public void pauseapp() { } //Método executado antes de finalizar o MIDlet. public void destroyapp(boolean unconditional) { //Avisa o SO que este pode controlar o display novamente this.notifydestroyed(); } } //Permite que a aplicação saiba quando um comando foi acionado public void commandaction(command c, Displayable d) { //Compara o comando solicitado e executa a ação programada if (c == saircommand) { destroyapp(true); } else if (c == somarcommand) { //Verifica os valores em cada TextField //e converte de String para int int nro1 = Integer.parseInt(valor1.getString()); int nro2 = Integer.parseInt(valor2.getString()); //Soma os dois valores int soma = nro1 + nro2; //Converte o resultado de int para string e insere //no StringItem resultado resultado.settext(string.valueof(soma)); } } Quadro 10 - Código fonte exemplo de aplicação que soma dois números

79 79 Figura 42 - Exemplo de aplicação: Somar dois números 5.6. Visão Geral do Ambiente de Desenvolvimento Após o estudo das ferramentas e recursos envolvidos no processo de desenvolvimento de software para telefones celulares, é apresentado, conforme Figura 43, a visão geral do ambiente de desenvolvimento, contendo desde o sistema operacional até as ferramentas utilizadas para criar e executar as aplicações móveis. Figura 43 - Visão Geral do Ambiente de Desenvolvimento Este capítulo apresentou as principais ferramentas utilizadas no desenvolvimento das aplicações. O Capítulo 6, a seguir, apresenta a tecnologia Web Services, abordando sua utilização, arquitetura, vantagens, desvantagens e exemplos de utilização.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Leia mais

Programação para Celular com Java

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

Leia mais

Introdução a Computação Móvel

Introdução a Computação Móvel Introdução a Computação Móvel Computação Móvel Prof. Me. Adauto Mendes adauto.inatel@gmail.com Histórico Em 1947 alguns engenheiros resolveram mudar o rumo da história da telefonia. Pensando em uma maneira

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

UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE INFORMÁTICA COMPUTAÇÃO MÓVEL CONTROLE DE GASTOS PARA ORÇAMENTO DOMÉSTICO

UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE INFORMÁTICA COMPUTAÇÃO MÓVEL CONTROLE DE GASTOS PARA ORÇAMENTO DOMÉSTICO UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE INFORMÁTICA COMPUTAÇÃO MÓVEL CONTROLE DE GASTOS PARA ORÇAMENTO DOMÉSTICO Fred Paulino Ferreira, Leonardo Couto, Renato Maia, Luiz G. Montanha Departamento

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

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

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

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

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

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

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

Agregador de feeds RSS para dispositivos móveis

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

Leia mais

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

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

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

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres.

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres. Módulo I - Introdução Aula 2 Carlos Eugênio Torres Engenheiro de Informática http://cetorres.com Faculdade Christus Sistemas de Informação 17/09/2010 Graduado em Ciência da Computação pela UFC, Brasil

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

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

Aula 1 - Introdução e configuração de ambiente de desenvolvimento Aula 1 - Introdução e configuração de ambiente de desenvolvimento Olá, seja bem-vindo à primeira aula do curso para desenvolvedor de Android, neste curso você irá aprender a criar aplicativos para dispositivos

Leia mais

SENAI São Lourenço do Oeste. Introdução à Informática. Adinan Southier Soares

SENAI São Lourenço do Oeste. Introdução à Informática. Adinan Southier Soares SENAI São Lourenço do Oeste Introdução à Informática Adinan Southier Soares Informações Gerais Objetivos: Introduzir os conceitos básicos da Informática e instruir os alunos com ferramentas computacionais

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

Tecnólogo em Análise e Desenvolvimento de Sistemas

Tecnólogo em Análise e Desenvolvimento de Sistemas Tecnólogo em Análise e Desenvolvimento de Sistemas O conteúdo deste documento tem como objetivos geral introduzir conceitos mínimos sobre sistemas operacionais e máquinas virtuais para posteriormente utilizar

Leia mais

Manual do Usuário Android Neocontrol

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

Leia mais

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura Dispositivos móveis e o mercado Mercado cresce a cada ano Muitos recursos Múltiplas plataforma Symbian

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

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

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

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

Leia mais

Desenvolvimento de Aplicações Móveis com J2ME. Andrea foi a primeira colocada no I Concurso Teleco de Trabalhos de Conclusão de Curso (TCC) 2005.

Desenvolvimento de Aplicações Móveis com J2ME. Andrea foi a primeira colocada no I Concurso Teleco de Trabalhos de Conclusão de Curso (TCC) 2005. Desenvolvimento de Aplicações Móveis com J2ME Andrea Rodrigues de Amorim 1º Colocado I Concurso Teleco de TCC's 2005 Andrea foi a primeira colocada no I Concurso Teleco de Trabalhos de Conclusão de Curso

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

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

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

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

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

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

Android. 10 vantagens do sistema Android em relação ao iphone

Android. 10 vantagens do sistema Android em relação ao iphone Android Android é um sistema operacional do Google para smartphones, TVs e tablets. Baseado em Linux e de código aberto, o sistema móvel é utilizado em aparelhos da Samsung, LG, Sony, HTC, Motorola, Positivo,

Leia mais

Manual de Utilização

Manual de Utilização Se ainda tiver dúvidas entre em contato com a equipe de atendimento: Por telefone: 0800 642 3090 Por e-mail atendimento@oisolucoespraempresas.com.br Introdução... 3 1. O que é o programa Oi Backup Empresarial?...

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 FEDERAL DE SANTA CATARINA JNC MOBILE 2.0. Anderson Buon Berto Gilberto Torrezan Filho. Florianópolis - SC 2005/1

UNIVERSIDADE FEDERAL DE SANTA CATARINA JNC MOBILE 2.0. Anderson Buon Berto Gilberto Torrezan Filho. Florianópolis - SC 2005/1 UNIVERSIDADE FEDERAL DE SANTA CATARINA JNC MOBILE 2.0 Anderson Buon Berto Gilberto Torrezan Filho Florianópolis - SC 2005/1 1 Sumário 1 Introdução 3 2 Denição do Problema 3 3 Trabalhos Correlatos 4 4 Solução

Leia mais

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

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

Leia mais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

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

Laplink PCmover Express A Maneira Mais Fácil de Migrar para um Novo PC Windows. Guia do Usuário

Laplink PCmover Express A Maneira Mais Fácil de Migrar para um Novo PC Windows. Guia do Usuário Laplink PCmover Express A Maneira Mais Fácil de Migrar para um Novo PC Windows Guia do Usuário Serviço de Atendimento ao Cliente/ Suporte Técnico Site: http://www.laplink.com/index.php/por/contact E-mail:

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais

Acadêmico: Marciane Schotten Prof. Orientador: Ricardo Alencar de Azambuja

Acadêmico: Marciane Schotten Prof. Orientador: Ricardo Alencar de Azambuja PROTÓTIPO DE UMA APLICAÇÃO MÓVEL PARA LOCAÇÃO DE VEÍCULOS UTILIZANDO J2ME Acadêmico: Marciane Schotten Prof. Orientador: Ricardo Alencar de Azambuja Roteiro da apresentação Introdução Objetivos Fundamentação

Leia mais

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com. Consumindo um Web Service através de uma Aplicação Comercial em Android Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.br 08/2014 Agenda Introdução Conceitos Web Service Por que utilizar

Leia mais

COMPARAÇÃO DE KITS DE DESENVOLVIMENTO PARA CRIAÇÃO DE APLICATIVOS DESTINADOS A DISPOSITIVOS MÓVEIS

COMPARAÇÃO DE KITS DE DESENVOLVIMENTO PARA CRIAÇÃO DE APLICATIVOS DESTINADOS A DISPOSITIVOS MÓVEIS COMPARAÇÃO DE KITS DE DESENVOLVIMENTO PARA CRIAÇÃO DE APLICATIVOS DESTINADOS A DISPOSITIVOS MÓVEIS Luiz Eduardo Uzai Graduado em Sistemas de Informação pela LIBERTAS Faculdades Integradas. Ely Fernando

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

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

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

Leia mais

INTERNET OUTLOOK. 1. Considerando os conceitos e os modos de navegação na Internet, assinale a opção correta.

INTERNET OUTLOOK. 1. Considerando os conceitos e os modos de navegação na Internet, assinale a opção correta. Prof. Júlio César S. Ramos P á g i n a 1 INTERNET OUTLOOK 1. Considerando os conceitos e os modos de navegação na Internet, assinale a opção correta. A O Outlook Express permite criar grupo de pessoas

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

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux 1. De que forma é possível alterar a ordem dos dispositivos nos quais o computador procura, ao ser ligado, pelo sistema operacional para ser carregado? a. ( ) Instalando um programa gerenciador de carregamento,

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

Manual do Teclado de Satisfação Local Versão 1.4.1

Manual do Teclado de Satisfação Local Versão 1.4.1 Manual do Teclado de Satisfação Local Versão 1.4.1 26 de agosto de 2015 Departamento de Engenharia de Produto (DENP) SEAT Sistemas Eletrônicos de Atendimento 1. Introdução O Teclado de Satisfação é uma

Leia mais

Lógica de Programação

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

Leia mais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

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

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva Universidade Federal de Juiz de Fora UFJF-MG Campo Universitário Bairro Marmelos Juiz de Fora MG Brasil

Leia mais

Seu manual do usuário KASPERSKY ANTI-VIRUS MOBILE 6.0 http://pt.yourpdfguides.com/dref/3931618

Seu manual do usuário KASPERSKY ANTI-VIRUS MOBILE 6.0 http://pt.yourpdfguides.com/dref/3931618 Você pode ler as recomendações contidas no guia do usuário, no guia de técnico ou no guia de instalação para KASPERSKY ANTI- VIRUS MOBILE 6.0. Você vai encontrar as respostas a todas suas perguntas sobre

Leia mais

Manual do Teclado de Satisfação Local Versão 1.2.2

Manual do Teclado de Satisfação Local Versão 1.2.2 Manual do Teclado de Satisfação Local Versão 1.2.2 18 de fevereiro de 2015 Departamento de Engenharia de Produto (DENP) SEAT Sistemas Eletrônicos de Atendimento 1. Introdução O Teclado de Satisfação é

Leia mais

Conheça o seu telefone

Conheça o seu telefone Conheça o seu telefone O nome MOTOROLA e sua logomarca estilizada M estão registrados no Escritório de Marcas e Patentes dos EUA. Motorola, Inc. 2008 Algumas funções do telefone celular dependem da capacidade

Leia mais

Informática Aplicada Revisão para a Avaliação

Informática Aplicada Revisão para a Avaliação Informática Aplicada Revisão para a Avaliação 1) Sobre o sistema operacional Windows 7, marque verdadeira ou falsa para cada afirmação: a) Por meio do recurso Windows Update é possível manter o sistema

Leia mais

1. Instalando o Java 7 JavaFX e o Netbeans

1. Instalando o Java 7 JavaFX e o Netbeans 1. Instalando o Java 7 JavaFX e o Netbeans Faça o download do Java 7 que inclui JavaFX no site do Oracle: http://www.oracle.com/technetwork/java/javase /downloads/index.html. Clique no License Agreement

Leia mais

Instalação do IBM SPSS Modeler Server Adapter

Instalação do IBM SPSS Modeler Server Adapter Instalação do IBM SPSS Modeler Server Adapter Índice Instalação do IBM SPSS Modeler Server Adapter............... 1 Sobre a Instalação do IBM SPSS Modeler Server Adapter................ 1 Requisitos de

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Fundamentos da Computação Móvel

Fundamentos da Computação Móvel Fundamentos da Computação Móvel (Plataformas Sistemas Operacionais e Desenvolvimento) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus

Leia mais

MANUAL DE UTILIZAÇÃO. Instalação do MV Portaria

MANUAL DE UTILIZAÇÃO. Instalação do MV Portaria MANUAL DE UTILIZAÇÃO Instalação do MV Portaria Histórico da Revisão Data Versão Autor Descrição 15/06/12 1.0 Aluisio Comiran Criação do documento. 12/09/12 1.1 Aluisio Comiran - Foram removidas as etapas

Leia mais

Seu manual do usuário KAPERSKY ANTI-VIRUS MOBILE 6.0 http://pt.yourpdfguides.com/dref/3704975

Seu manual do usuário KAPERSKY ANTI-VIRUS MOBILE 6.0 http://pt.yourpdfguides.com/dref/3704975 Você pode ler as recomendações contidas no guia do usuário, no guia de técnico ou no guia de instalação para KAPERSKY ANTI- VIRUS MOBILE 6.0. Você vai encontrar as respostas a todas suas perguntas sobre

Leia mais

Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008

Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008 Android José João Junior Universidade Federal de Santa Catarina 17 de dezembro de 2008 Agenda 1 Visão geral 2 Estrutura do sistema 3 Ferramentas de desenvolvimento 4 Uma aplicação Visão geral Histórico

Leia mais

Programação para Android

Programação para Android Programação para Android Aula 01: Visão geral do android, instalação e configuração do ambiente de desenvolvimento, estrutura básica de uma aplicação para Android Objetivos Configurar o ambiente de trabalho

Leia mais

BlackBerry Internet Service. Versão: 4.5.1. Guia do usuário

BlackBerry Internet Service. Versão: 4.5.1. Guia do usuário BlackBerry Internet Service Versão: 4.5.1 Guia do usuário Publicado: 09/01/2014 SWD-20140109134951622 Conteúdo 1 Primeiros passos... 7 Sobre os planos de serviço de mensagens oferecidos para o BlackBerry

Leia mais

Guia de Inicialização para o Windows

Guia de Inicialização para o Windows Intralinks VIA Versão 2.0 Guia de Inicialização para o Windows Suporte 24/7/365 da Intralinks EUA: +1 212 543 7800 Reino Unido: +44 (0) 20 7623 8500 Consulte a página de logon da Intralinks para obter

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Tipos de Sistemas Operacionais Com o avanço dos computadores foram surgindo alguns tipos de sistemas operacionais que contribuíram para o desenvolvimento do software. Os tipos de

Leia mais

1. StickerCenter... 3. 2. Menu Broadcast Stickers... 4. 3. Menu MyStickers... 9

1. StickerCenter... 3. 2. Menu Broadcast Stickers... 4. 3. Menu MyStickers... 9 1. StickerCenter... 3 1.1. O que é?... 3 1.2. O que são Stickers?... 3 1.3. Como acessar o StickerCenter?... 3 1.4. Como atualizar o StickerCenter?... 3 2. Menu Broadcast Stickers... 4 2.1. O que é?...

Leia mais

BlackBerry Desktop Software. Versão: 7.1. Guia do usuário

BlackBerry Desktop Software. Versão: 7.1. Guia do usuário BlackBerry Desktop Software Versão: 7.1 Guia do usuário Publicado: 2012-06-05 SWD-20120605130141061 Conteúdo Aspectos básicos... 7 Sobre o BlackBerry Desktop Software... 7 Configurar seu smartphone com

Leia mais

Motorola Phone Tools. Início Rápido

Motorola Phone Tools. Início Rápido Motorola Phone Tools Início Rápido Conteúdo Requisitos mínimos... 2 Antes da instalação Motorola Phone Tools... 3 Instalar Motorola Phone Tools... 4 Instalação e configuração do dispositivo móvel... 5

Leia mais

Desenvolvimento para Android Prá9ca 1. Prof. Markus Endler

Desenvolvimento para Android Prá9ca 1. Prof. Markus Endler Desenvolvimento para Android Prá9ca 1 Prof. Markus Endler Pré- requisitos Para desenvolver para plataforma Android, é necessário fazer o download e instalar: Android SDK Tools: necessário para gerenciamento

Leia mais

LINGUAGEM DE PROGRAMAÇÃO Material de apoio - Aula II (25/02/2008) - Profº Sidney Leal

LINGUAGEM DE PROGRAMAÇÃO Material de apoio - Aula II (25/02/2008) - Profº Sidney Leal AMBIENTE JAVA CONCEITO LINGUAGEM DE PROGRAMAÇÃO O ambiente de desenvolvimento Java é composto de ferramentas e utilitários para a realização de tarefas (depuração, compilação e documentação) relacionadas

Leia mais

W4Mobile Operations Management System. Manual do Usuário Versão 1.3.3

W4Mobile Operations Management System. Manual do Usuário Versão 1.3.3 W4Mobile Operations Management System Manual do Usuário Versão 1.3.3 W4Mobile Team: + 55 31 3475 3594 E-mail: suporte@3ssistemas.com.br Este documento consiste em 27 páginas. Elaborado por: IT Applications

Leia mais

LASERJET ENTERPRISE M4555 SÉRIE MFP. Guia de instalação do software

LASERJET ENTERPRISE M4555 SÉRIE MFP. Guia de instalação do software LASERJET ENTERPRISE M4555 SÉRIE MFP Guia de instalação do software HP LaserJet Enterprise M4555 MFP Series Guia de instalação do software Direitos autorais e licença 2011 Copyright Hewlett-Packard Development

Leia mais

Manual de instalação e configuração da Ferramenta Android SDK

Manual de instalação e configuração da Ferramenta Android SDK Trabalho de Programação para Dispositivos Móveis Turma: 1011 Camila Botelho camilacunhabotelho@gmail.com Manual de instalação e configuração da Ferramenta Android SDK Introdução O Android é uma ferramenta

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Java ME Introdução Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Fundamentos Edições do Java JSE JEE JME JSE JEE MIDP Nível de Perfil CDC CLDC Nível de Configuração

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

Introdução ao. Linux do MEC

Introdução ao. Linux do MEC Introdução ao Linux do MEC Abril/2006 ÍNDICE Software Livre 3 Linux do MEC 4 Inicializando e finalizando o sistema 5 Área de trabalho 6 Operações com arquivos 7 Administração do ambiente 9 Navegador Internet

Leia mais

Manual do aplicativo Conexão ao telefone

Manual do aplicativo Conexão ao telefone Manual do aplicativo Conexão ao telefone Copyright 2003 Palm, Inc. Todos os direitos reservados. O logotipo da Palm e HotSync são marcas registradas da Palm, Inc. O logotipo da HotSync e Palm são marcas

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais