ruirossi@ruirossi.pro.br



Documentos relacionados
Programação para Celular com Java

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

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

Programação para Celular com Java Tipos de Tela

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

Tutorial J2ME Parte 3

Digifort Mobile Manual Version 1.0 Rev. A

Manual de Operação Aplicativo ClickIt

Capítulo 7. Estruturas de Decisão. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

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

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

ANDROID APPLICATION PROJECT

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

UMA ABORDAGEM SOBRE J2ME

Capítulo 13. Encapsulamento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Mobile

Java 2 Micro Edition (J2ME)

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

GERENCIADOR DE CONTEÚDO

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

Manual de Instalação... 2 RECURSOS DESTE RELÓGIO REGISTRANDO O ACESSO Acesso através de cartão de código de barras:...

- Acessar o sistema. Para acessar o sistema digite o endereço eletronico e clique em login na barra de menus.

Disciplina-POO-III- 3º Anos(Inf) (Lista de Exercícios III - Bimestre) 19/08/2015

MANUAL GDS TOUCH. Versão: 1.0 Direitos reservados.


AULA 06 CRIAÇÃO DE USUÁRIOS

Easytrade Admin Client

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

Manual do Spectacle. Boudhayan Gupta Boudhayan Gupta Tradução: André Marcelo Alvarenga

Orientação a Objetos

1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez

Programação Orientada a Objetos

Manual das funcionalidades Webmail AASP

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

1) Como acessar a aplicação

Universidade Federal Fluminense

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Controle de Rifas CEOD-RN. Instalação e Manual de Uso

Sistema de Recursos Humanos

GUIA RÁPIDO SISTEMA ANTIFURTO THEFT DETERRENT

Manual do usuário. Intelbras isic5 Tablet - Android


Aplicativo da Manifestação do Destinatário. Manual

BEM VINDO (A) À ACTVS SOFTWARE E APOIO A GESTÃO

ÍNDICE 1.CONHECENDO OS APLICATIVOS NECESSÁRIOS PARA O FUNCIONAMENTO DO SISTEMA URANO INTEGRA...

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Guia rápido de recursos Wi-Fi GZ-EX210

Manual de utilização do Sistema de gerenciamento de inspeção de equipamentos (SGIE) Conteúdo

Como Conectar e configurar Câmera Wireless FS-IPH02W FullSec -ACESSO VIA CELULAR

Manual de Utilização

Parabéns! Você acaba de adquirir uma loja virtual pronto para seu uso!

Gerenciador de Conteúdo Magellan 2.0

Manual do Usuário Central de Agendamento. Versão 1.1

MANUAL DE UTILIZAÇÃO

SECRETARIA DE ESTADO DA FAZENDA. Documento de Arrecadação Estadual DAE. Manual do Usuário. Versão SECRETARIA DE ESTADO DA FAZENDA

Prof. Esp. Adriano Carvalho

Quinta Lista de Exercícios -

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

CORREIO inotes. Para acessar o Correio inotes é necessário acessar a Internet.

A barra de menu a direita possibilita efetuar login/logout do sistema e também voltar para a página principal.

MODULO DE GESTÃO MANUTENÇÃO DE MATRÍCULA. O módulo de Gestão tem por objetivo gerenciar as atividades que ocorrem durante um ano letivo.

4 O Workflow e a Máquina de Regras

Introdução a Java. Hélder Nunes

PAINEL GERENCIADOR DE S

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.

Sistema Protocolo, Tramitação e Arquivamento de Processos Manual do Usuário

Componente Net Empresa

Manual do Painel Administrativo E-commerce

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

MANUAL DO PROFESSOR. Suporte: SISTEMA DE GESTÃO EDUCACIONAL VIRTUALCLASS. Skype: suportetisoebras

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

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop

Gestão inteligente de documentos eletrônicos

Ajuda do Sistema Aquarius.

Manual de Uso. Intranet

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Guia do Usuário do Lêmure Portal. Este guia destina-se ao usuário da área administrativa, ou seja, o Painel de Controle do Lêmure Portal.

NORMAS PARA EDITORAÇÃO E ENVIO DE TRABALHOS TÉCNICOS AO EVENTOS BRASIL 2014

Treinamento de. Linx Pos

LINGUAGEM ORIENTADA A OBJETOS

MANUAL DO USUÁRIO. Guia de orientações e conceitos para manipulação da plataforma Miraklon. VERSÃO Vigência

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Transcrição:

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 Máquina Virtual Java KVM JME Mediador: Rui Rossi dos Santos Slide 2

Fundamentos Máquina Virtual Java - Função Mediador: Rui Rossi dos Santos Slide 3

Fundamentos Máquina Virtual KVM (Kilo Virtual Machine) Implementação de referência para dispositivos limitados. Recursos requeridos: Memória: 40 a 80 kilobytes. Memória dinâmica (heap): 20 a 40 kilobytes. Processador: 16 bits de 25 MHz de frequencia. Mediador: Rui Rossi dos Santos Slide 4

Fundamentos Configuração Define uma plataforma para um grupo de dispositivos similares. Capacidade de memória similar. Capacidade de processamento similar. Está vinculada à uma máquina virtual. Define as bibliotecas que estarão disponíveis. Mediador: Rui Rossi dos Santos Slide 5

Configurações válidas: Fundamentos CDC (Connected Device Configuration) Para dispositivos mais potentes Requisitos mínimos: 512 KB de memória para execução do Java 256 KB para memória de trabalho Conectividade de rede com largura de banda alta CLDC (Connected Limited Device Configuration) Para dispositivos com recursos mais restritos Requisitos mínimos: 128 KB de memória para execução do Java 32 KB para memória de trabalho Interface restrita com o usuário Autonomia de alimentação baixa (geralmente bateria) Conectividade de rede com largura de banda baixa Mediador: Rui Rossi dos Santos Slide 6

Fundamentos Perfil (profile): É uma extensão de uma configuração. Acrescenta bibliotecas úteis à um subgrupo de dispositivos. Mediador: Rui Rossi dos Santos Slide 7

Fundamentos Perfil MIDP: A sigla: Mobile Information Device Profile Perfil de dispositivo de informação móvel Perfil ideal para smartphones, PDA s e similares. Contempla todos os recursos da configuração CLDC Acrescenta bibliotecas: Pacote javax.microedition.midlet (suporte à aplicações MIDP) Pacote javax.microedition.lcdui (interface gráfica) Pacote javax.microedition.rms (suporte à persistência de registros) Mediador: Rui Rossi dos Santos Slide 8

Arquitetura Genérica do JME: Fundamentos Perfil Configuração Máquina Virtual Java Sistema Operacional Hospedeiro Mediador: Rui Rossi dos Santos Slide 9

Arquitetura do Perfil MIDP: Fundamentos MIDP (Bibliotecas Adicionais) CLDC (Bibliotecas Básicas) KVM Sistema Operacional Hospedeiro Mediador: Rui Rossi dos Santos Slide 10

Conceito de MIDlet Fundamentos das MIDlets Aplicativo Java executável em dispositivo móvel do tipo MIDP Arquitetura subjacente exigida: Máquina Virtual: KVM Configuração: CLDC Perfil: MIDP Mediador: Rui Rossi dos Santos Slide 11

Fundamentos das MIDlets Ciclo de vida / construtor Pausada / destroyapp( ) / startapp( ) / pauseapp( ) Ativa / destroyapp( ) Mediador: Rui Rossi dos Santos Slide 12

Fundamentos das MIDlets A classe javax.microedition.midlet.midlet Representa um aplicativo para MIDP Construtor: O construtor é protegido. Deve ser utilizado somente nas subclasses. Uma MIDlet não deve criar outras MIDlets. Uma MIDlet deve ser criada pelo software gerenciador de aplicativos do dispositivo. Mediador: Rui Rossi dos Santos Slide 13

Fundamentos das MIDlets A classe javax.microedition.midlet.midlet Métodos invocados na mudança de estado: startapp( ): quando a MIDlet entra no estado Ativa. pauseapp( ): quando a MIDlet entra no estado Pausada. destroyapp( ): quando a MIDlet entra no estado Destruída. Assinaturas dos métodos: protected abstract void startapp( ) protected abstract void pauseapp( ) protected abstract void destroyapp(boolean unconditional) true indica que todos os recursos devem ser liberados false indica que a midlet não quer ser destruída Nesse caso, uma MIDletStateChangeException é disparada. Mediador: Rui Rossi dos Santos Slide 14

Ambiente de Desenvolvimento Instalar o JSE SDK (jdk-6u23-windows-i586.exe) Instalar o JME SDK (sun_java_me_sdk-3_0-win.exe) Mediador: Rui Rossi dos Santos Slide 15

Passo 1: criação do projeto File > New Project Primeiro Exemplo com JME SDK Passo 2: escolha do tipo de projeto Categorie: Java ME SDK Projects: MIDP Application Passo 3: configurações do projeto Project Name: AloMundo Project Location: C:\DADM\JME Marcar opções: Set as Main Project Create Hello MIDlet Passo 4: seleção da plataforma Emulator Platform: CLDC Java(TM) Micro Edition SDK 3.0 Device: ClamshellCldcPhone1 Device Configuration: CLDC-1.1 Device Profile: MIDP-2.0 Mediador: Rui Rossi dos Santos Slide 16

Primeiro Exemplo com JME SDK Passo 5: ajustar e comentar o código Inserir comentário em português Alterar os textos para o português Passo 6: executar o projeto Menu Run > Run Main Project (F6) Passo 7: testar a aplicação Setas de direção Controles Teclado Passo 8: trocar o emulador Clique com botão inverso no projeto Properties > Platform > Device Escolha: DefaultCldcPhone1 Mediador: Rui Rossi dos Santos Slide 17

Dados do projeto: Segundo Exemplo com JME SDK Nome: ExemploDois Desmarcar opção Create Hello MIDlet Criar uma MIDlet Nome: FormMIDlet Pacote: br.pro.ruirossi Acrescentar um formulário Seguir o modelo ao lado Campos: classe TextField Mediador: Rui Rossi dos Santos Slide 18

Formulário Classe: javax.microedition.lcdui.form java.lang.object extended byjavax.microedition.lcdui.displayable extended byjavax.microedition.lcdui.screen extended byjavax.microedition.lcdui.form Pode abrigar diferentes tipos de componentes visuais. Mediador: Rui Rossi dos Santos Slide 19

Formulário Classe: javax.microedition.lcdui.form Métodos e construtores: Form (String title): cria um formulário vazio. int append (Item item): permite acrescentar um componente e retorna o índice atribuído a ele. void delete (int itemnum): exclui o item da posição especificada. void deleteall( ): exclui todos os itens do formulário. Item get (int itemnum): retorna o item da posição especificada. void insert (int itemnum, Item item): insere o item antes da posição especificada. void set (int itemnum, Item item): substitui o item da posição especificada. int size( ): retorna o número de itens do formulário. Mediador: Rui Rossi dos Santos Slide 20

Formulário Classe: javax.microedition.lcdui.form Métodos herdados de Displayable: void addcommand(command cmd): vincula um comando a determinada tela ou componente. void removecommand(command cmd): desvincula um comando de determinada tela ou componente. void setcommandlistener(commandlistener l): define um ouvinte para os comandos de uma tela ou componente. Mediador: Rui Rossi dos Santos Slide 21

Campo de Texto Classe: javax.microedition.lcdui.textfield java.lang.object extended byjavax.microedition.lcdui.item extended byjavax.microedition.lcdui.textfield É um campo de texto editável. Pode ser inserido em um formulário. Mediador: Rui Rossi dos Santos Slide 22

Campo de Texto Classe: javax.microedition.lcdui.textfield Métodos e construtores: TextField(String label, String text, int maxsize, int constraints): cria um novo campo de texto com o rótulo, texto inicial, tamanho máximo em caracteres e restrições especificados. Obs.: as restrições são especificadas através de um dos seguintes atributos estáticos e constantes dessa mesma classe: ANY, EMAILADDR, NUMERIC, PHONENUMBER, URL e DECIMAL. Mediador: Rui Rossi dos Santos Slide 23

Dados do projeto: Exemplo: Cadastro de Pessoa Nome: CadPessoa Desmarcar opção Create Hello MIDlet Criar uma MIDlet Nome: CadPessoaMIDlet Pacote: br.pro.ruirossi Acrescentar um formulário Seguir o modelo ao lado Campos: classe TextField Mediador: Rui Rossi dos Santos Slide 24

Evento de Comando Interface: javax.microedition.lcdui.commandlistener Deve ser realizada pelos ouvintes de eventos de comando. Método: public void commandaction(command c, Displayable d): método executado quando um evento de comando ocorrer no formulário ou componente monitorado. Mediador: Rui Rossi dos Santos Slide 25

Comando Classe: javax.microedition.lcdui.command Encapsula informações sobre um evento de comando. Um botão no software vinculado a uma tecla do dispositivo. Mapeamento de comandos para teclas depende do dispositivo. Mediador: Rui Rossi dos Santos Slide 26

Comando Classe: javax.microedition.lcdui.command Métodos e construtores: Command (String label, int commandtype, int priority): cria um comando com o rótulo, tipo e prioridade especificados. int getcommandtype(): retorna o tipo do comando. String getlabel(): retorna o rótulo do comando. int getpriority(): retorna a prioridade do comando. Mediador: Rui Rossi dos Santos Slide 27

Comando Classe: javax.microedition.lcdui.command O tipo de um comando indica a intenção de mapeá-lo para uma tecla específica do dispositivo. Atributos utilizados para especificar o tipo do comando: BACK CANCEL EXIT HELP ITEM OK SCREEN STOP Mediador: Rui Rossi dos Santos Slide 28

Comando Classe: javax.microedition.lcdui.command A prioridade de um comando indica a sua importância relativa a outros comandos da mesma tela. Quanto menos o número, maior a prioridade. Primeiro a disposição dos comandos é feita com base em seu tipo e depois são agrupados com base na prioridade. Mediador: Rui Rossi dos Santos Slide 29

Mensagens Classe: javax.microedition.lcdui.alert Métodos e construtores: Alert(String title, String alerttext, Image alertimage, AlertType alerttype): cria uma nova mensagem com o título, texto, imagem e tipo especificados. public void settimeout(int time): define o tempo pelo qual a mensagem será exibida. Deve ser um valor em milissegundos ou o atributo FOREVER da própria classe Alert. Obs.: o tipo de uma mensagem é especificado através de um dos seguintes atributos estáticos e constantes da classe AlertType: ALARM, CONFIRMATION, ERROR, INFO, WARNING. Mediador: Rui Rossi dos Santos Slide 30

Exemplo: Teste de IMC Nome do projeto: ExemploIMC Mediador: Rui Rossi dos Santos Slide 31

Exemplo: Teste de IMC Estrutura: MIDlet Form ComandoMidlet midlet FrmTesteIMC TesteIMC CommandListener Mediador: Rui Rossi dos Santos Slide 32

Papéis: Exemplo: Teste de IMC TesteIMC: regras de negócio FrmTesteIMC: interface gráfica ComandoMidlet: aplicação FrmTesteIMC - - - nome peso altura : String : double : double TesteIMC TesteIMC () getnome () getpeso () getaltura () setnome (String nome) setpeso (double peso) setpeso (String peso) setaltura (double altura) setaltura (String altura) getimc () getcategoria () : String : double : double : void : void : void : void : void : double : String - - - - - - - midlet tfnome tfpeso tfaltura cmdcalcular cmdlimpar cmdsair : ComandoMidlet : TextField : TextField : TextField : Command : Command : Command FrmTesteIMC (ComandoMidlet midlet) commandaction (Command c, Displayable d) : void - display : Display ComandoMidlet ComandoMidlet () startapp () pauseapp () destroyapp (boolean unconditional) : void : void : void Mediador: Rui Rossi dos Santos Slide 33

Descrição do exemplo: Exemplo: Teste de IMC O usuário deve informar três dados: seu nome completo, seu peso e sua altura. Deve haver três comandos disponíveis: Resultado: deve produzir uma mensagem contendo os três dados informados, o IMC do usuário e a categoria correspondente. Limpar: deve eliminar o conteúdo dos três campos do formulário. Sair: deve encerrar a aplicação. Se o comando Resultado for pressionado e se algum dado inválido tiver sido informado, deve ser exibida uma mensagem de erro indicando a regra que foi violada. As regras para a validação dos dados são as seguintes: Nome: deve ser um texto de 5 a 50 caracteres, ser composto de um nome e de pelo menos um sobrenome e cada parte desse texto deve ter ao menos 2 caracteres. Peso: deve ser um número decimal de 0,5 a 500 kilogramas. Altura: deve ser um número decimal de 0,2 a 3 metros. Mediador: Rui Rossi dos Santos Slide 34

Descrição do exemplo: Exemplo: Teste de IMC A fórmula para calcular o IMC é a que segue: IMC = P / A 2 Onde: P = Peso A = Altura A tabela abaixo indica como mapear determinado IMC para a sua categoria correspondente. IMC Até 18,4 De 18,5 a 24,9 De 25,0 a 29,9 De 30,0 a 34,9 De 35,0 a 39,9 Acima de 40,0 Categoria Abaixo do peso Peso normal Sobrepeso Obesidade Grau I Obesidade Grau II Obesidade Grau III Mediador: Rui Rossi dos Santos Slide 35

Exercício 1: Cadastro de Cliente Nome do projeto: CadCliente MIDlet: CadClienteMIDlet O formulário deve ter os campos: Nome (até 40 caracteres) Logradouro (até 30 caracteres) Número (até 5 dígitos) Cidade (até 40 caracteres) Estado (2 letras) CPF (11 dígitos) Adicione 2 comandos: Sair: fechar o aplicativo. Limpar: limpar todos os campos. Mediador: Rui Rossi dos Santos Slide 36

Exercício 2: Cadastro de Contatos Nome do projeto: CadContato Funcionamento da aplicação: O cadastro de cada contato deve ser composto por três dados: seu nome completo, seu e-mail e seu telefone. Deve haver cinco comandos disponíveis: Gravar: deve acionar a gravação de um cadastro. Excluir: deve acionar a exclusão de um cadastro. Relatório: deve exibir a lista de todos os cadastros gravados. Limpar: deve eliminar o conteúdo dos três campos do formulário. Sair: deve encerrar a aplicação. Mediador: Rui Rossi dos Santos Slide 37

Exercício 2: Cadastro de Contatos Operação: gravar um novo cadastro Para gravar o cadastro de um contato, deve ser informados três dados: seu nome completo, seu e-mail e seu telefone. Deve ser exibida uma mensagem para confirmar a gravação do cadastro contendo todos os dados informados. Se algum dado inválido tiver sido informado, deve ser exibida uma mensagem de erro indicando a regra que foi violada. Não deve ser permitida a gravação de dois contatos com o mesmo nome. Mediador: Rui Rossi dos Santos Slide 38

Exercício 2: Cadastro de Contatos Operação: gravar um novo cadastro As regras para a validação dos dados são as seguintes: Nome: deve ser um texto de 5 a 50 caracteres, ser composto de um nome e de pelo menos um sobrenome e cada parte desse texto deve ter ao menos 2 caracteres. E-mail: deve ser um texto de 5 a 50 caracteres, ser composto de pelo menos duas partes separadas por um @, cada parte desse texto deve ter ao menos 2 caracteres e não pode haver espaços. Telefone: deve ser composto por 10 dígitos. Mediador: Rui Rossi dos Santos Slide 39

Exercício 2: Cadastro de Contatos Operação: excluir um cadastro Para excluir o cadastro de um contato, deve ser informado o seu nome completo. A aplicação não deve fazer distinção entre caracteres minúsculos e caracteres maiúsculos. Deve ser exibida uma mensagem para confirmar a exclusão do contato com o seu nome completo. Se não houver um cadastro com o nome informado, deve ser exibida uma mensagem de erro. Mediador: Rui Rossi dos Santos Slide 40

Exercício 2: Cadastro de Contatos Operação: exibir o relatório de contatos Para exibir o relatório dos contatos registrados, basta acionar o comando Relatório. Esses registros devem ser apresentados através de uma mensagem. Mediador: Rui Rossi dos Santos Slide 41

Exercício 2: Cadastro de Contatos Essa aplicação deve ter a estrutura de componentes abaixo MIDlet Form Contato 0..* contatos ContatoMidlet midlet FrmContato CommandListener Banco Mediador: Rui Rossi dos Santos Slide 42

Papéis: Exercício 2: Cadastro de Contatos Contato: encapsulamento e validação dos dados dos contatos. Banco: repositório de objetos onde serão gravados os contatos. FrmContato: interface gráfica do cadastro de contatos. ContatoMidlet: representa a aplicação MIDP. - - - nome email fone : String : String : String Contato Contato () getnome () getemail () getfone () setnome (String nome) setemail (String email) setfone (String fone) tostring () equals (Object obj) hashcode () : String : String : String : void : void : void : String : boolean : int - - - - - - - - - midlet tfnome tfemail tffone cmdgravar cmdexcluir cmdrelatorio cmdlimpar cmdsair FrmContato : ContatoMidlet : TextField : TextField : TextField : Command : Command : Command : Command : Command FrmContato (ContatoMidlet midlet) commandaction (Command c, Displayable d) : void - contatos : Vector Banco getcontatos () incluircontato (Contato contato) excluircontato (Contato contato) listarcontatos () : Vector : void : void : String - display : Display ContatoMidlet ContatoMidlet () startapp () pauseapp () destroyapp (boolean unconditional) : void : void : void Mediador: Rui Rossi dos Santos Slide 43

Referências MUCHOW, John W. J2ME: tecnologia e MIDP. São Paulo: Pearson Makron Books, 2004. Mediador: Rui Rossi dos Santos Slide 44