Introducão à Tecnologia Móvel 1 UFU - BACALÁ



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

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

Tutorial J2ME Parte 3

Java 2 Micro Edition (J2ME)

Programação para Celular com Java

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

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

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

UMA ABORDAGEM SOBRE J2ME

Manual de Operação Aplicativo ClickIt

Tecnologia de redes celular GSM X CDMA

ESCOLA SECUNDÁRIA DO MONTE DA CAPARICA Curso de Educação e Formação de Adultos NS Trabalho Individual Área / UFCD

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

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

Interfaces Dinâmicas e Adaptativas para Celulares

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

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

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

DESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME

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

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

PARTE 1 TELEFONIA CELULAR AULA 2 INTRODUÇAO. Sistemas de Telecomunicações II Prof. Flávio Ávila

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

Telecomunicações. Prof. André Y. Kusumoto


Conhecendo o seu E173

I N T R O D U Ç Ã O W A P desbloqueio,

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

NOVAS TECNOLOGIAS DE INFORMAÇÃO

Computação Móvel J2ME

DESENVOLVIMENTO DE APLICATIVOS PARA CELULAR JAVA 2 MICRO EDITION

Prof. Samuel Henrique Bucke Brito

Evolução Telefonia Móvel

Aula 03-04: Modelos de Sistemas Distribuídos

Desenvolvimento para dispositivos móveis JavaME

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Capítulo 15 - VendaRemota.java

Capítulo 2 Sistemas Rádio Móveis

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Introdução à Informática

Arquitetura Java ME (J2ME) & Tecnologias Java Embarcadas Relacionadas

Motorola Phone Tools. Início Rápido

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

Sistemas Distribuídos

Conexão Socket na MIDP

ESCOLA SECUNDÁRIA DO MONTE DA CAPARICA Curso de Educação e Formação de Adultos NS Trabalho Individual Área / UFCD

Prática de Programação J2ME (15) Especialização em Desenvolvimento Web com Interfaces Ricas

Orientação a Objetos com Java

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

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

Arquitectura de Sistemas Computacionais

Redes sem Fio WMANs (IEEE ) Wi-MAX. Ricardo Kléber. Ricardo Kléber

Manual do Desktop Sharing. Brad Hards Tradução: Marcus Gama

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

DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS

Programação Orientada a Objetos

Redes de Dados e Comunicações. Prof.: Fernando Ascani

LEIA ISTO PRIMEIRO. IBM Tivoli Configuration Manager, Versão 4.2.1

O que é o Android? O que é o Android

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

Computação Portátil. Profa. Késsia Marchi

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

CDMA, 3G e Aplicações. Luiz Gustavo Nogara nogara@inf.puc-rio.br

Wireless. Crescimento da Rede Wireless. Sistemas de Informação Rui Silva. Rui Silva. Jan 08

Sistemas Operacionais. Prof. André Y. Kusumoto

Programação Orientada a Objetos

Internet 3G - VIVO ZAP

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

Introdução à Linguagem Java

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

Figura 1 - Arquitectura do GSM

REDE DE COMPUTADORES TECNOLOGIA ETHERNET

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

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

EDITAL DO PREGÃO ELETRÔNICO Nº 036/2010 SEMA PROCESSO ADMINISTRATIVO Nº /2010 ANEXO I DESCRIÇÃO DO LOTE LOTE I SERVIÇOS DE TELEFONIA MÓVEL

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

Desenvolvimento Web TCC Turma A-1

Manual do Teclado de Satisfação Online WebOpinião

Estrutura de um Rede de Comunicações. Redes de comunicação. de Dados. Network) Area. PAN (Personal( Redes de. de dados

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

Capítulo 1: Redes de computadores e a Internet. Capítulo1. Redes de. computadores. computador. e a Internet. es e a Internet

Administração de Sistemas de Informação Gerenciais

INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO

EXPLICITAÇÃO DE FUNCIONALIDADES DO SISTEMA

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr

Gestor de ligações Manual do Utilizador

Computação II Orientação a Objetos

UML: Diagrama de Casos de Uso, Diagrama de Classes

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

Redes sem Fio Redes Locais Wireless (WLANs) Ricardo Kléber. Ricardo Kléber

Manual de Vendas. Chegou a oportunidade de aumentar os lucros com o Windows Server 2012 R2

Computador Digital Circuitos de um computador (Hardware)

Tecnologia Java. Helder darocha

Transcrição:

Introducão à Tecnologia Móvel 1

História do Celular 1921 (0G) O Departamento de polícia de Detroit instala rádios móveis operando em cerca de 2 MHz, nos carros. Problemas com o sistema devido a grande interferência 1934 (0G) O congresso norte americano cria a FCC (Federal Communications Commission), órgão responsável por regulamentar o espectro das frequências de rádio 2

Historia do Celular Decada de 1940 (0G) O uso de rádios móveis para comunicacão já é comum nos EUA. nas frequencias de 30 a 40 Mhz. Sao usados pela policia, empresas e pessoas ricas. 1945 (0G) O primeiro servico que integra radio a telefonia é aberto ao público em St. Louis, Miss. O sistema é composto de 6 canais operando a 150 MHz. A qualidade do sistema é muito ruim. 3

História do Celular 1956 (0G) O primeiro sistema de telefonia instalado em carros de passageiros é instalado atendendo o território norte americano (os chamados car-phones). O sistema baseado em radio requer que uma operadora complete as ligacoes, mas o sistema embora grande e pesado funciona. Um sistema similar é disponibilizado na Suécia. 1964 (0G) Uma evolucao do sistema usa um canal unico compartilhado em 150 Mhz e permite que usuario disquem numero direto do aparelho no carro. 4

Historia do Celular 1969 (0G) O sistema dde car-phone sofre um upgrade para 450 Mhz e se torna mais comum. O novo servico é conhecido como (IMTS) Improved mobile telephone service. 1971 (1G) AT&T propoe um novo sistema de comunicacao movel ao FCC baseado em dividira as cidades em celulas. 5

Mobile Phone History 1973 (1G) Dr. Martin Cooper, pesquisador da Motorola inventa o primeiro aparelho celular analogico funcional. O Motorola Dyna-Tac, é levado a cidade de New York e mostrado ao publico. A primeira estacao de telefonia celular instalada em Nova York podia atender ate 30 pessoas. 1974 (1G) Problemas de regulamentacao do FCC atrasam o desenvolvimento de celulares. A Western Electric é impedida de fabricar antenas e aparelhos ao mesmo tempo. 6

Mobile Phone History 1977 (1G) Após vários problemas jurídicos, o FCC aprova o serviço celular analógico em Chicago, uma parceria da Bell Telephone Company e da AT&T 1988 (2G) São criados dois padrões digitais para substituir a telefonia celular analógica nos EUA o TDMA, e o CDMA 1990 (2G) Agência européia de telecomunicações funda o Group Spéciale Mobile que define um novo padrão digital, o GSM para substituir vários UFU padrões - BACALÁ analógicos existentes. 7

TDMA time division multiple access Utiliza a multiplexação de tempo, vários transmissores compartilham um mesmo canal. Os principais padrões utilizados foram IS 54, IS 136 (DAMPS), utilizam frequência de 820-890 Mhz 8

IS-95 CDMA code division multiple access Desenvolvida pela Qualcom permite que multiplas frequencias sejam utilizadas para transmitir uma mensagem que possui um coidigo que a identifica. Frequencias: 800MHz band and 1.9GHz 9

GSM Global System for Mobile Communications Opera nas bandas 800, 850, 1800 ou 1900 Mhz Introduziu os Subscriber Identity Module (SIM) cartões digitais que guardam informações do assinante e permitem a troca automática de aparelhos e provedores de telefonia. Primeira geração permitia transmissão de dados apenas 9.6 Kb/s e introduziu o conceito de SMS. Preço pago por KB 10

GPRS - General Packet Radio Service 2000 - Geração 2.5 Serviço para transferência de dados disponível em GSM e TDMA (IS-136) Permite transmissão de dados ate 115 Kb/s Serviço utilizado para acesso a Internet, navegação WAP, SMS e MM. Preço pago por MB transferência 11

EDGE - Enhanced Data Rates for GSM Evolution 2003 - Geração 2.75, oferecido no Brasil pela TIM e Claro em 2006 Serviço para transferência de dados 236.8 kbit/s iphone e vários outros celulares ja utilizam EDGE Acesso cobrado por MB. Introdução de planos que possuem conexão ilimitada de dados. Internet móvel disponível a todo momento 12

Wi-Max Worldwide Interoperability for Microwave Access 2007 - Geração 4 IEEE 802.16, 10-66 GHz Permite transmissão de dados ate 10Mb/s em um raio de 10 Km Banda são vendidas para operadoras, concorrentes celular Competição com outros serviços de banda larga como ADSL e Cabo, como serviço de internet rápida Plano de dados ilimitado. 13

Outras Tecnologias 3G UMTS and CDMA-2000 UMTS Europa CDMA-2000 EUA Taxas transferência até 2Mbps 14

Dispositivos Móveis Notebook Palmtops PDAs Mobile Phones Tablet PCs... 15

Sistemas Operacionais Móveis e Linguagem de Programação Sistema Operacional Windows Mobile Linux Mobile (EZX) Independente Linguagem De Programac.net Mobile C++ c/ GTK J2ME 16

Arquitetura de Acesso a Web Wireless Network Base Station Internet W eb S er ve rs Requisicao : Respsosta : 17

J2ME

Linguagem Java Divisão em 3 frentes: J2SE desktops J2EE servidores J2ME dispositivos com memória e processamento restritos Tentativas anteriores: Embedded Java e PersonalJava foram descontinuadas 19

Java Visão Geral J2SE - Java 2 Standard Edition Conjunto de ferramentas e APIs usadas para construir applets e aplicações Java. Usada para ambos aplicações Web e standalone. J2EE - Java 2 Enterprise Edition Adiciona funcionalidades para suporte a aplicações enterprise. Uma única aplicação é distribuída na rede de uma empresa e acessada remotamente. Aplicações distribuídas requerem trabalho 20

Java Visão Geral J2ME - Java 2 Micro Edition Como dispositivos móveis possuem menos poder de processamento, memória e displays menores, J2ME é um subconjunto do J2SE. J2ME herda um subconjunto fixo do J2SE que é aplicado para todos os dispositivos móveis e uma outra porção definida especificamente para um certo J2ME tipo de J2SEdispositivo, J2EE como por exemplo, um celular ou uma PDA. 21

Por que J2ME? Portabilidade Linguagem de alto nível e fácil de dominar Segura 22

Alvos de Java 23

Mas o que é J2ME Opção da SUN para desenvolvimento para dispositivos limitados em processamento e memória (móveis ou não) Parecida com J2SE Mesma linguagem, mesmo compilador, mesma estrutura da máquina virtual 24

Qualidades Write once, run everywhere Linguagem de alto nível para dispositivos móveis Portabilidade Delivery pela rede seguro Anytime, anywhere secure deploying Alta escalabilidade com J2SE e J2EE 25

Foco de J2ME Basicamente duas categorias: Dispositivos fixos de informação compartilhada Dispositivos móveis de informação pessoal Fronteira não muito bem definida Mais memória e mais processamento para ambas categorias 26

J2ME e Outras Tecnologias WAP - Wireless Application Protocol Protocolo que habilita dispositivos móveis a receberem dados da Internet e mostrálos no display J2ME provê meios para acessar e manipular dados via rede, tipicamente Internet, mas também pode ser usado em conjunto com o protocolo WAP SMS - Short Messaging System J2ME provê meios para UFU envio - BACALÁ de mensagens, mas também pode usar SMS 27

Diferenças Java X J2ME Não Possui Matemática de Ponto Flutuante Tratamento de Exceções Verificação de Arquivos de Classe 28

Verificação de Arquivos de Classe Realizado em duas partes Verificação Prévia: Insere atributos no arquivo da classe Arquivos 5% maiores Agiliza o segundo passo da verificação Verificação no Dispositivo: Várias verificações são feitas para validar o código, percorrendo cada instrução 29

Máquinas virtuais KVM Otimizada para dispositivos com poucos recursos Implementada em C 40 K 80 K Processadores de 16 32 bits 160 K 512 K de memória total Implementação de referência da SUN Especificação fornecida pela SUN Específica para CLDC 30

Máquinas Virtuais CVM Quase igual a VM do J2SE. Diferenças: Dispositivos fazem computações específicas Gerenciamento de memória mais eficiente Separação VM Sistema de memória Mapear Threads Java em Threads nativas do sistema Utiliza a ROM Referências fracas, RMI, serialização 31

Novos Termos em J2ME Configuração Conjunto mínimo de APIs usados para desenvolvimento de aplicações em um conjunto de dispositivos. Descrevem as funcionalidades básicas requeridas pelo conjunto de dispositivos. Pode ser: CDC Connected Device Configuration CLDC - Connected Limited Device Configuration 32

Profiles (perfil) No topo das configurações estão os profiles. Profiles são conjuntos de APIs mais específicos para um certo tipo de dispositivo. Uma configuração descreve em termos gerais uma família de dispositivos, enquanto um profile é mais específico e isola um certo tipo de dispositivo da família. 33

CLDC Configuração de Dispositivo Conectado Limitado Conjunto de Classes do Java que rodam em dispositivos móveis, com baixo poder de processamento e recursos de entrada e saída limitados. 34

MIDP Perfil de Dispositivo de Informação Móvel Extensão de uma Configuração Define APIs para tratar diferenças entre diferentes dispositivos 35

MIDP Descreve arquitetura específica dos dispositivos móveis que usam CLDC e podem usar MIDP, na maioria, celulares e pagers. Como MIDP é construído no topo de CLDC, a CLDC API pode ser usada para construir aplicações MIDP. Memória 128KB de memória não-volátil para as 36 MIDP APIs

MIDP Entrada Um dispositivo MIDP deve possuir um teclado ou/e touch screen Display 96 x 54 pixels - 96 de altura e 54 de comprimento 1-bit color - pelo menos preto e branco Rede 2-way wireless 9600 bps 37

J2ME CDC e CLDC MIDP CDC CLDC Máquina Virtual Java KVM Java 2 Micro Edition (J2ME) 38

Organização da plataforma Aplicação Building blocks: Configurações Perfis Pacotes opcionais Conjunto de API s mas não um Perfil API s proprietárias 39

Mas voltando às divisões... Embbeded Java e PersonalJava no final de ciclo de vida Connected Device Configuration Perfis: FP, PBP, PP, GP Connected Limited Device Configuration Perfis MIDP e IMP 40

Perfis CDC Foundation Profile Sem GUI Reuso de código J2SE com esforço mínimo Ambientes com recursos limitados Exemplos de cenários: Impressoras de rede Roteadores Gateways residenciais 41

Perfis CDC Personal Basis Profile Um framework de GUI para objetos leves Suporte ao modelo de programação xlet Todas as APIs incluídas no Foundation Profile Exemplos de cenários: Televisão interativa Automóveis Dispositivos de propósito fixo para 42

Perfis CDC Personal Profile Compatibilidade total com AWT Suporte ao modelo de programação de applets Um caminho definido para tecnologias legadas como PersonalJava Todas as APIs do Personal Basis Profile Exemplos de cenários: High-end PDAs 43

Perfis CDC Game Profile Sem previsão de lançamento Cobrirá 9 áreas fundamentais do desenvolvimento de jogos Alvo também em J2SE Terá referências a Java Media Framework API e Java 3D 44

Perfis 45

Perfis CLDC MIDP Experiência rica em interface gráfica Conectividade extensiva Funcionalidades multimídia e para jogos OTA Segurança fim-a-fim Dispositivos-alvo: 46 Para uma lista completa http://developers.sun.com/techtopics/mobility/device/device

Perfis CLDC IMP Baseado em MIDP GUI limitada Recursos de memória ou processamento escassos Persistência local Conectividade com a rede Gerenciamento do ciclo de vida Exemplos de uso Caixas de chamada de emergência, parquímetros, módulos wireless em alarmes e dispositivos industriais 47

O que é quente hoje em J2ME? Aplicativos com processamento do lado do servidor e apresentação no celular Localização Utilização da câmera embutida Cartão de visita Nokia gems 48

Considerações para projeto em pequenos dispositivos Faça simples: Remova features desnecessárias; Quanto menor, melhor: Pequenas aplicações usam menos memória e requerem menos tempo de instalação Minimize o uso de memória em tempo de execução: Use tipos escalares no lugar de objetos Não dependa do coletor de UFU lixo - BACALÁ 49

Considerações para projeto em dispositivos móveis Deixe o servidor trabalhar a maioria do tempo Mova a trabalho de cálculo para o servidor e deixe que ele rode Deixe o dispositivo móvel manusear interface e um conjunto mínimo de cálculos, deixando o trabalho intensivo para o servidor 50

Considerações sobre desempenho Use variáveis locais: É mais rápido acessar variáveis locais que membros de classes Evite concatenação de Strings: Concatenação de Strings prejudica a performance e pode aumentar o uso de memória da aplicação Use threads e evite sincronização: Qualquer operação que leva mais de 1/10 de segundo para rodar requer uma thread 51

Estrutura Básica de um Programa em J2ME 52

MIDlets Aplicativos J2ME baseados em MIDP são chamados de MIDlets. Uma MIDlet utiliza somente classes definidas pelas APIs do CLDC e MIDP. Uma MIDlet é um applet desenvolvido especificamente para dispositivos móveis. Classes MIDlets são armazenada em Java bytecode em arquvios.class, 53

MIDlets Pré-verificação acontece logo após a compilação. Devem ser empacotadas em arquivos JAR para distribuição. MIDlet JAR: MIDlet classes Classes para suporte Recursos extras (imagens, som, etc) Arquivo manifesto (.mf) 54

Processo MIDlets Edite Compile Pré-verifique Emule Teste no dispositivo Idealmente em vários dispositivos Pode parecer diferente em dispositivos diferentes 55

Compilação e Execução Para Compilar javac -bootclasspath C:\j2me\midp2.0fcs\classes <Arquivo.java> Pré-Verificação: preverify -classpath C:\j2me\midp2.0fcs\classes;. -d. <Arquivo sem o.class> Para Rodar: midp -classpath. <Arquivo sem o.class> 56

Construindo o Primeiro MIDlet Crie o projeto. Em seguida, deve-se criar a classe Todo MIDlet deriva da classe javax.microedition.midlet 3 dos vários métodos são muito importantes: startapp() - inicia um MIDlet pauseapp() - pausa um MIDlet destroyapp() - destrói um MIDlet 57

Esqueleto de um MIDlet import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class ProgramaInutil extends MIDlet{ public ProgramaInutil(){ } public void startapp(){ 58

Construindo o Primeiro MIDlet Comandos São usados para controlar MIDlets e iniciar ações commandaction() método de resposta a eventos javax.microedition.lcdui.commandlistene r 59

Comandos Construtor: Command(String label, int commandtype, int priority) Tipos: Command.BACK Command.CANCEL Command.EXIT Command.HELP Command.ITEM 60

Comandos import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class ProgramaInutil extends MIDlet implements CommandListener{ public ProgramaInutil(){ } public void startapp(){ 61

Construindo o Primeiro MIDlet Canvas javax.microedition.lcdui Tela abstrata para gráficos e desenhos Classe Display javax.microedition.lcdui Responsável por gerenciar o display e entrada de dados do usuário Há exatamente uma instância do Display para cada Midlet que está executando em 62

MIDlet Desenvolvimento 1. Desenvolva o código 2. Compile 3. Pré-verifique 4. Emule o MIDlet 5. Empacote um JAR 6. Desenvolva um.jad 7. Teste em dispositivos 63

Um MIDlet Simples Mostra uma linha de texto na tela e executa um comando comum import javax.microedition.midlet.*; import javax.microedition.lcdui.*; Acertar a classe para implementar um comando public class Primeiro extends MIDlet implements CommandListener CommandListener espera por comandos. Neste MIDlet incluir um 64

Um MIDlet Simples private Command comandosaida; private Display display; private Form telainicial; Estas variáveis são inicializadas no construtor public Primeiro() { display = Display.getDisplay(this); // Obtém o display comandosaida = new Command( Saida, Command.EXIT, 2); // nome, tipo, prioridade telainicial = new Form( Primeiro MIDlet ); // Cria a tela inicial telainicial.append( Minicurso J2ME ); telainicial.addcommand(comandosaida); telainicial.setcommandlistener(this); 65

Um MIDlet Simples Com o construtor pronto, faltam os métodos do ciclo de vida da MIDlet. public void startapp() throws MIDletStateChangeException { } // Seta o display atual para a screen display.setcurrent(telainicial); public void pauseapp() { } public void destroyapp(boolean unconditional) 66

Um MIDlet Simples O último método necessário é o commandaction para responder ao evento exitcommand public void commandaction(command c, Displayable s) { if(c == comandosaida) { try { destroyapp(false); } catch (MIDletStateChangeException e) { e.printstacktrace(); 67

Um MIDlet Simples destroyapp() = false - MIDlet pode gerar exceção e recusar o método destroyapp() destroyapp() = true - será destruída Pré-verificação e arquivos para distribuição são feitas pela IDE automaticamente 68

Empacotamento e Distribuição MIDlets consistem em um arquivo JAR contendo o software, e um arquivo JAD contendo uma descrição da MIDlet Para instalar um aplicativo MIDlet em um dispositivo deve-se então primeiro criar um JAR e um JAD, ou seja, empacotar para depois distribuir Basta colocar os arquivos JAD e JAR no seu servidor Web para serem baixados por um celular ou baixar UFU por - BACALÁ meio de um cabo USB 69