universidade federal da bahia faculdade de arquitetura programa ...
56426602 Arquitetura de Um Programa MIDlet
-
Upload
jgidelson-araujo -
Category
Documents
-
view
7 -
download
0
Transcript of 56426602 Arquitetura de Um Programa MIDlet
-
DESENVOLVIMENTO DE DESENVOLVIMENTO DE APLICATIVOS APLICATIVOS
DE TELEFONIA MVEL NA DE TELEFONIA MVEL NA PLATAFORMA J2ME PLATAFORMA J2ME
-
Desir Nguessan. Graduado e Mestre em Cinciada Computao. Doutor em Engenharia daComputao. Docente na Fatec So Caetano doSul e na Universidade de Mogi das Cruzes. Atua
CURRCULO:
Sul e na Universidade de Mogi das Cruzes. Atuanas reas de segurana, privacidade, middlewaresmveis, computao nmade e difusa. Pode sercontatado em [email protected].
-
Definio de um MIDLet: Conceitos de um MIDLet Arquitetura de um programa MIDLet: Estrutura de
um programa MIDLet com Herana da classe MIDLet.
Ciclo de Vida de um programa MIDLet: Estados de
CONTEDO:
Ciclo de Vida de um programa MIDLet: Estados de um programa MIDLet.
Exemplos de programas MIDLet. Interao e Tratamento de Eventos. Concluso e Ref. Bibliogrfica.
Dsir NGuessan
-
DEFINIO DE UM MIDLet
-
Uma aplicao J2ME que suporta o perfil MIDP Uma subclasse da classe MIDlet
public class Meu MIDlet extends MIDlet {}
DEFINIO DE UM MIDLet:
Dsir NGuessan
} o equivalente de uma applet, onde o incio e o
fim so controlados pelo ambiente de execuo anlogo Servlet (web services)
-
Requer um AMS (Application ManagementSoftware) O dispositivo deve oferecer o MAS Responsvel pelo download, instalao e
gerenciamento do ciclo de vida das MIDlets
DEFINIO DE UM MIDLet:
Dsir NGuessan
gerenciamento do ciclo de vida das MIDlets
-
MIDlet Suite o arquivo de distribuiocomposto de 2 arquivos bsicos: JAD & JAR
JAD (Java Application Descriptor) Descreve a MIDlet suite.
DEFINIO DE UM MIDLet:
Dsir NGuessan
Descreve a MIDlet suite. Inclui o nome; fabricante; localizao e tamanho do arquivo JAR; Requisitos de configurao e perfis; e atributos
definidos pelo desenvolvedor e/ou pelo MIDP
-
JAR (Java Archive) empacota um ou maisMIDLets para ser distribudos: Contm as MIDlets descritas no JAD e demais
recursos usados pelas aplicaes
DEFINIO DE UM MIDLet:
Dsir NGuessan
outras classes, imagens, sons e arquivos
-
Instalao Via conexo com PC (Nokia PC Suite) Cabo USB, Bluetooth, Infra Red Download de um servidor remoto - OTA (Over-the-
DEFINIO DE UM MIDLet:
Dsir NGuessan
Download de um servidor remoto - OTA (Over-the-air)
-
ARQUITETURA DE UM PROGRAMA MIDLet
-
MIDLet Public class MIDlet{...
}
ARQUITETURA DE UM PROGRAMA MIDLet:
Meu_MIDLetPublic class Meu_MIDlet extends MIDlet{...
}
-
Quando um MIDlet disparado o ambientechama o mtodo MIDlet.startApp()
O ciclo de vida de um MIDlet : startApp()
CICLO DE VIDA DE UM MIDLet
Dsir NGuessan
startApp() pauseApp() destroyApp()
-
Construtor()
Estado AtivoEstado Pause
startApp()
pauseApp()
Incio
CICLO DE VIDA DE UM MIDLet:
destroyApp()destroyApp()Est. Destrudo
Fim
-
public class MeuMidlet extends MIDLet{public MeuMidlet(){// construtor}public void startApp(){
// inicia aqui o lanamento do MeuMidlet aps o
CICLO DE VIDA DE UM MIDLet
Dsir NGuessan
// inicia aqui o lanamento do MeuMidlet aps o //construtor
}public void pauseApp(){// a aplicao fica em modo pause}public void destroytApp(boolean unconditional){// Quando se deixa a plicao se possvel h uma // destruio }}
-
/**Objetivo: Mostrar os estados do ciclo de vida do MIDlet, por padro MIDlet fica em Estado de pausa. Quando o aplicativo executado, o mtodo startApp() chamado e quando fechar a aplicao destroyApp () chamado. Mas quando o Construtor no nulo , ento ele ser executado em primeiro lugar.
**/ import javax.microedition.lcdui.*;
EXEMPLO DE UM PROGRAMA UM MIDLet:
import javax.microedition.lcdui.*;import javax.microedition.midlet.MIDlet;public class MidletLifecycle extends MIDlet{private Form form;private Display display;public MidletLifecycle(){
System.out.println(Construtor do MidletLifecycle");}
construtorconstrutor
-
public void startApp(){form = new Form(Ciclo de vida Midlet ");display = Display.getDisplay(this);String msg = Isso o ciclo de vida do Midlet!";form.append(msg);display.setCurrent(form);
estado inicioestado inicio
EXEMPLO DE UM PROGRAMA UM MIDLet:
Dsir NGuessan
display.setCurrent(form);}
public void pauseApp(){System.out.println( Estado pause...");
}
public void destroyApp(boolean destroy){System.out.println( Estado destrudo...");notifyDestroyed();
}}
Estado Destrudo
Estado PauseEstado Pause
-
Uma forma de tratar os eventos do usurio utilizar a classe Command
Por exemplo, reconhecer que um boto de ajuda
Interao e Tratamento de Eventos:
Dsir NGuessan
Por exemplo, reconhecer que um boto de ajudafoi pressionado e em resposta exibir umamensagem.
Um objeto da classe Command um boto MIDPque o usurio pode acionar a partir do teclado
-
Construtor para criar um objeto da classeCommand public Command(String label, int type,
Interao e Tratamento de Eventos:
Dsir NGuessan
public Command(String label, int type,int priority);
Onde: Label: etiqueta do boto de comando Type: constante da classe Command.
-
Constantes dos tipos de comandos OK : sugere o lanamento de um tratamento BACK : voltar a tela anterior
: cancelar um tratamento
Interao e Tratamento de Eventos:
Dsir NGuessan
CANCEL : cancelar um tratamento STOP : parar um tratamento EXIT : aborta a execuo do MIDlet HELP : ajuda
A disposio do comando na tela depende dotipo e da prioridade
-
Para processar eventos so necessrios: Criar um objeto Command Adicionar o objeto Command em um objeto Form,
Interao e Tratamento de Eventos:
Dsir NGuessan
Adicionar o objeto Command em um objeto Form,TextBox, List ou Canvas.
Adicionar o receptor no objeto Form, TextBox,List ou Canvas.
O gerenciador de aplicativos envia umamensagem ao MIDlet
-
O gerenciador de aplicativos envia umamensagem ao MIDlet
As Interfaces receptoras dessa mensagem so:
Interao e Tratamento de Eventos:
Dsir NGuessan
As Interfaces receptoras dessa mensagem so: CommandListener: para uma ao de um comando ItemStateListener: para a mudana de estado de itens de
formulrio como por exemplo caixa de texto, caixa de seleo,etc.
ItemCommandListener
-
Para que haja tratamento de eventos o aplicativoMIDLet deve implementar as classes abstratas: CommandListener
Interao e Tratamento de Eventos:
Dsir NGuessan
CommandListener ItemStateListener ItemCommandListener
-
/* exemplo de ciclo de vida de um MIDLet usando tratamento de eventos*/import javax.microedition.lcdui.*;import javax.microedition.midlet.*;
public class CicloVidaMidlet extends MIDlet implementsCommandListener{
EXEMPLO DE UM MIDLet:
CommandListener{private Form form;private Display display;private Command ok, cancel, exit;//definio de comandos
public CicloVidaMidlet(){form = new Form("Command Form");cancel = new Command("CANCEL", Command.CANCEL, 3);ok = new Command("OK", Command.OK, 4);exit = new Command("EXIT", Command.EXIT, 7);} Dsir NGuessan
-
public void startApp(){System.out.println(" Estado iniciado... ");display = Display.getDisplay(this);
form.addCommand(ok);form.addCommand(exit);form.addCommand(cancel);form.setCommandListener(this);display.setCurrent(form);
}
EXEMPLO DE UM MIDLet:
}public void pauseApp(){System.out.println("Estado pause...");}public void destroyApp(boolean destroy){
System.out.println("Estado destruido...");notifyDestroyed();
}
Dsir NGuessan
-
// tratamento dos comandos ou eventospublic void commandAction(Command c, Displayable d) {
String label = c.getLabel();if(label.equals("CANCEL"))
this.pauseApp();else if(label.equals("OK"))
this.startApp(); else
EXEMPLO DE UM MIDLet:
elsethis.destroyApp(true);
}
}
Dsir NGuessan
-
Recomendo revisar o paradigma deorientao objeto principalmente aHerana, mtodos e classes abstratas.
CONCLUSO:
Dsir NGuessan
-
Li Sing and Knudsen Jonathan, Beginnig J2ME platafomFrom Novice to Professional, 3 th . Edition, Apess, USA,2010.
DOUDOUX J. Michel, Dveloppons em Java, v.1.30, 2000
Ref. Bibliogrfica:
DOUDOUX J. Michel, Dveloppons em Java, v.1.30, 2000
Site da Sun (atual Oracle) & NetBeans
Dsir NGuessan