Programação para Celular com Java Tipos de Tela



Documentos relacionados
Programação para Celular com Java

FINAL: CÓDIGO-FONTE DA MIDLET

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

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

Tutorial J2ME Parte 3


Felipe Guimarães

Java ME Elementos da interface gráfica Form Aula 3. Marcio Seiji Oyamada

Conexão Socket na MIDP

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

Apostila de J2ME versão 1.0

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

Apostila de J2ME versão 1.1

Persistência de Classes em Tabelas de Banco de Dados

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Arcabouços de Software para Desenvolvimento de Aplicações Embarcadas. Herman Martins Gomes - hmg@dsc.ufcg.edu.br

FACULDADES COC BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO TRABALHO DE CONCLUSÃO DE CURSO. Diego Antonio Sales

Java : Comunicação Cliente-Servidor.

Java 2 Platform, Micro Edition (J2ME)

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

CONECTIVIDADE. Desenvolvimento de Sistemas WEb Computação Móvel

Design Patterns (Factory Method, Prototype, Singleton)

INSTITUTO DE COMPUTAÇÃO UNICAMP 1o. SEMESTRE DE Profa. Cecília M. F. Rubira

O objetivo da aula é realizar upload de arquivos com aplicação web. Será realizado o upload de duas formas:

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

Introdução a relatórios Crosstab com ireport/jasperreports

Desenvolvimento de Jogos para Celular usando Java ME: o Jogo Batalha Terrestre

Roteiro para criação de Applet

GUIA DE INTEGRAÇÃO APP2APP APLICATIVO PAGSEGURO 1. Guia de Integração App2App Aplicativo PagSeguro VERSÃO 1.0.0

JSP - ORIENTADO A OBJETOS

Adicionando Caixas de Verificação no seu Programa Java

insfcanceof new public switch transient while byte continue extends for int null

Programação para a Plataforma Android Aula 7. Mul$mídia

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

O programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.

GERENCIADOR DE CONTEÚDO

Natureza do Software e dos Sistemas

Técnicas de Programação II

Criando um script simples

Procedimentos para configurar o Motion Detection no D-ViewCam 1 Para configurar o Motion Detection no D-ViewCam, é necessário que a câmera IP esteja

Java 2 Standard Edition Como criar classes e objetos

Provedores de Conteúdo

Permissão de Usuários

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Criando documentação com javadoc

Programação Orientada a Objetos II

INF PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15

Especialização em Engenharia de Software - CEUT

Manual de uso do aplicativo Filho Sem Fila

Aula 06 Usando controles em ASP.NET

Is Event Dispatcher Threade (Animation)

ANDROID APPLICATION PROJECT

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Diamond Powder - um framework Java ME para coleta de dados

Interface Gráficas Parte I. Bruno Crestani Calegaro

Como Configurar uma conta de no Microsoft Outlook 2013.

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística.

MÓDULO 4 SWING Parte 3

Um pouco mais que Hello World

Aula 03 PowerPoint 2007

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

Como usar o bluej. Laboratório I Prof.ª Vera Alves

WINCODE SOFTWARE E CONTABILIDADE S.A. MyEnsino Manual da Área Reservada de Professores

Anexo III Funcionamento detalhado do Sistema Montador de Autoria

Java na WEB Banco de Dados

Capítulo 07: Câmera e Arquivos

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Programação para Android. Aula 06: Activity, menus e action bar

Como gerar arquivos para Sphinx Operador

Aplicando Padrões de Projetos em Java ME

O que é uma Exceção? Call Stack. Java Tratamento de Exceção. de métodos que foram usados até chegar na presente instrução.

Implementação de Classe e Auto-Relacionamento em Java

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2014

LOGGING DE EVENTOS COM LOG4J

Como Configurar uma conta de no Microsoft Outlook 2010.

RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO

Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

THREADS EM JAVA. George Gomes Cabral

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar

Transcrição:

Programação para Celular com Java Tipos de Tela 1/18 Objetivo: Capacitar o aluno a desenvolver aplicações para celular utilizando janelas dos tipos Alert List Item : ChoiceGroup, DateField e ImageItem Sumário 7.3 A classe javax.microedition.lcdui.alert...2 Tipos de Alert:... 2 Construtor:... 2 Tipos de Alerta:... 2 Métodos Importantes:... 2 Exemplo:... 3 7.4 A classe javax.microedition.lcdui.list...5 Tipos:... 5 Construtor:... 5 Métodos Importantes:... 5 Exemplo:... 5 7.5. A classe javax.microedition.lcdui.item...8 O que é?... 8 Classes Componentes de Item:... 8 Definição de LayOut... 8 Exemplo:... 8 7.5.1 ChoiceGroup... 8 7.5.2 DateField... 9 Exemplo Completo:... 9 Ilustrações da Execução do programa:... 13 7.5.3 ImageItem... 15 O que é?... 15 Chamada do Construtor:... 15 Valores possíveis do layout:... 15 Aonde guardar a imagen?... 15 Exemplo de aplicação que permite carregar imagens.... 16 Exemplo de Execução:... 18

2/18 7.3 A classe javax.microedition.lcdui.alert Alert é um tipo de tela com tempo de apresentação definido. Deve-se utilizar esse tipo de tela para avisos de forma geral. Tipos de Alert: Construtor: Uma tela do tipo Alert ainda pode ser definida como: Alarm Confirmation Error Info Warning O construtor é chamado através da passagem do parâmetro titulo da janela, por exemplo: Alert(String titulo) O construtor também pode ser chamado enviando as seguintes instruções: Alert(String title, String alerttext, Image alertimage, AlertType alerttype) Tipos de Alerta: A classe javax.microedition.lcdui.alerttype define os seguinte tipos de alerta: AlertType.ALARM AlertType.CONFIRMATION AlertType.ERROR AlertType.INFO AlertType.WARNING O alerta ainda pode ser associado a um som através da instrução playsound(display display) Métodos Importantes: void addcommand(command c) AlertType gettype() void removecommand(command c) void setcommandlistener(commandlistener l) void settimeout(int tempo) void settype(alerttype t) void setimage(image i)

3/18 Exemplo: 1. Inicie um novo projeto no WTK2.5.2. Como sugestão, recomenda-se o nome SegundoMidlet com a classe SegundoMidlet_Midlet. Essa recomendação é ilustrada na figura a seguir. 2. No arquivo Segundo_Midlet.java, forneça o código a seguir: /////// arquivo SegundoMidlet_Midlet.java import javax.microedition.midlet.midlet.*; import javax.microedition.lcdui.*; public class SegundoMidlet_Midlet extends javax.microedition.midlet.midlet implements CommandListener private Display display; private Command exit = new Command("Exit",Command.EXIT,0); private TextBox inicio; private Alert[] alerta = new Alert[5]; private void criaalertas() alerta[0] = new Alert("Alarme","Alerta do tipo Alarm", null, AlertType.ALARM); alerta[1] = new Alert("Alarme","Alerta do tipo Confirmation", null, AlertType.CONFIRMATION); alerta[2] = new Alert("Alarme","Alerta do tipo ERROR", null, AlertType.ERROR); alerta[3] = new Alert("Alarme","Alerta do tipo INFO", null,

4/18 AlertType.INFO); alerta[4] = new Alert("Alarme","Alerta do tipo WARNING", null, AlertType.WARNING); Command back = new Command("Back",Command.BACK,1); for (int i = 0; i < alerta.length; i++) alerta[i].addcommand(back); public SegundoMidlet_Midlet() public void startapp() criaalertas(); inicio = new TextBox("Digite um numero entre 0 e 4:", "0", 2, TextField.NUMERIC); inicio.addcommand(exit); inicio.addcommand(new Command("ShowMe",Command.OK,1)); inicio.setcommandlistener(this); display = Display.getDisplay(this); display.setcurrent(inicio); public void pauseapp () public void destroyapp(boolean unconditional) public void commandaction(command c, Displayable s) if (c.getcommandtype() == Command.EXIT) notifydestroyed(); else if (c.getlabel() == "ShowMe") int op = Integer.parseInt(inicio.getString().trim()); if (op==0) display.setcurrent(alerta[0]); else if (op == 1) display.setcurrent(alerta[1]); else if (op == 2) display.setcurrent(alerta[2]); else if (op == 3) display.setcurrent(alerta[3]); else if (op == 4) display.setcurrent(alerta[4]);

5/18 7.4 A classe javax.microedition.lcdui.list Alert é um tipo de tela que oferece uma lista de opções ao usuário. Tipos: Construtor: Métodos Importantes: Um objeto List pode ser de um dos seguintes tipos: EXCLUSIVE : pode selecionar apenas um único elemento MULTIPLE : pode selecionar vários elementos. INPLICIT : associa um elemento a um CommandListener O construtor pode ser chamado de duas formas: List(String titulo, int tipo) List(String titulo, int tipo, String[] elementos, Image[] img) void append(string n, Image i) void delete(int p) int getselectedindex() boolean isselected(int p) int size() Exemplo: /////// arquivo SegundoMidlet_Midlet.java import javax.microedition.midlet.midlet.*; import javax.microedition.lcdui.*; public class SegundoMidlet_Midlet extends javax.microedition.midlet.midlet implements CommandListener private Display display; private Command exit = new Command("Exit",Command.EXIT,0); private TextBox inicio; private Alert[] alerta = new Alert[5]; private List lista; private Command chamalista = new Command("Escolhas",Command.OK,1); private void crialista() String[] op = "Laranja","Limão","Uva", "Maracujá", "Mamão";

6/18 lista = new List("Selecione a sua opção",list.multiple,op,null); lista.addcommand(new Command("Back",Command.BACK,1)); lista.setcommandlistener(this); private void criaalertas() alerta[0] = new Alert("Alarme","Alerta do tipo Alarm", null, AlertType.ALARM); alerta[1] = new Alert("Alarme","Alerta do tipo Confirmation", null, AlertType.CONFIRMATION); alerta[2] = new Alert("Alarme","Alerta do tipo ERROR", null, AlertType.ERROR); alerta[3] = new Alert("Alarme","Alerta do tipo INFO", null, AlertType.INFO); alerta[4] = new Alert("Alarme","Alerta do tipo WARNING", null, AlertType.WARNING); Command back = new Command("Back",Command.BACK,1); for (int i = 0; i < alerta.length; i++) alerta[i].addcommand(back); public SegundoMidlet_Midlet() public void startapp() criaalertas(); crialista(); inicio = new TextBox("Digite um numero entre 0 e 4:", "0", 2, TextField.NUMERIC); inicio.addcommand(exit); inicio.addcommand(new Command("ShowMe",Command.OK,1)); inicio.addcommand(chamalista); inicio.setcommandlistener(this); display = Display.getDisplay(this); display.setcurrent(inicio);

7/18 public void pauseapp () public void destroyapp(boolean unconditional) public void commandaction(command c, Displayable s) if (c.getcommandtype() == Command.EXIT) notifydestroyed(); else if (c.getlabel() == "ShowMe") int op = Integer.parseInt(inicio.getString().trim()); if ((op>=0) && (op<5)) display.setcurrent(alerta[op]); else if (c.getcommandtype() == Command.BACK) display.setcurrent(inicio); else display.setcurrent(lista);

8/18 7.5. A classe javax.microedition.lcdui.item A superclasse Item representa os elementos que podem ser O que é? adicionados em um formulário. ChoiceGroup Classes Componentes de TextField Item: DateField Gauge ImageItem Spacer StringItem CustomItem O alinhamento de componentes na tela pode seguir as Definição de LayOut seguintes instruções para a definição de LayOut: LAYOUT_DEFAULT LAYOUT_LEFT LAYOUT_RIGHT LAYOUT_CENTER LAYOUT_TOP LAYOUT_BOTTOM LAYOUT_VCENTER LAYOUT_NEWLINE_BEFORE LAYOUT_NEWLINE_AFTER LAYOUT_SHRINK LAYOUT_VSHRINK LAYOUT_EXPAND LAYOUT_VEXPAND Exemplo: LAYOUT_2 Para a definição do Layout de um componente basta chamar o método setlayout. Por exemplo : TextField t = new TextField( "Digite um numero entre 0 e 4:", "0", 2, TextField.NUMERIC); t.setlayout(item.layout_right ); 7.5.1 ChoiceGroup Define um grupo de botões. Exemplo: private ChoiceGroup GrupoBotao( String[] a )

9/18 7.5.2 DateField ChoiceGroup saida; saida = new ChoiceGroup( "Escolha uma opção",choicegroup.exclusive, a, null); saida.setlayout(item.layout_left); return saida; Componente utilizado para mostrar data e hora. Exemplo: java.util.calendar folha = java.util.calendar.getinstance(); folha.settime(new java.util.date()); DateField quando = new DateField( "Calendário",DateField.DATE_TIME); quando.setdate(folha.gettime()); quando.setlayout(item.layout_center); Exemplo Completo: Em um novo projeto, defina o código a seguir. /////// arquivo TerceiroMidlet_Midlet.java import javax.microedition.midlet.midlet.*; import javax.microedition.lcdui.*; public class TerceiroMidlet_Midlet extends javax.microedition.midlet.midlet

10/18 implements CommandListener private Display display; private Command exit = new Command("Exit",Command.EXIT,0); private Command back = new Command("Back",Command.BACK,1); private Command chamalista = new Command("Escolhas",Command.OK,1); private Alert[] alerta = new Alert[5]; private Form janela = new Form("Aula 2"); private TextBox inicio = CriaTextBoxForm(); private List crialistaform() List lista; String[] op = "Laranja","Limão","Uva", "Maracujá", "Mamão"; lista = new List("Selecione a sua opção", List.MULTIPLE,op,null); lista.addcommand(back); lista.setcommandlistener(this); return lista; private void criaalertas() alerta[0] = new Alert("Alarme","Alerta do tipo Alarm", null, AlertType.ALARM); alerta[1] = new Alert("Alarme","Alerta do tipo Confirmation", null, AlertType.CONFIRMATION); alerta[2] = new Alert("Alarme","Alerta do tipo ERROR", null, AlertType.ERROR); alerta[3] = new Alert("Alarme","Alerta do tipo INFO", null, AlertType.INFO); alerta[4] = new Alert("Alarme","Alerta do tipo WARNING", null, AlertType.WARNING); for (int i = 0; i < alerta.length; i++) alerta[i].addcommand(back);

11/18 public TerceiroMidlet_Midlet() private Form componenteitem() Form saida = new Form("inicio 0"); TextField t = new TextField("Digite um numero entre 0 e 4:", "0", 2, TextField.NUMERIC); t.setlayout(item.layout_right ); saida.append(t); String ops[] = "clarinete","saxofone","piano","guitarra"; ChoiceGroup aux = new ChoiceGroup("Escolha uma opção", ChoiceGroup.EXCLUSIVE, ops, null); aux.setlayout(item.layout_left); saida.append(aux); saida.addcommand(back); saida.setcommandlistener(this); return saida; private Form FormCalendario() java.util.calendar folha = java.util.calendar.getinstance(); folha.settime(new java.util.date()); DateField quando = new DateField("Calendário",DateField.DATE_TIME); quando.setdate(folha.gettime()); quando.setlayout(item.layout_center); Form saida = new Form("Calendário"); saida.append(quando); saida.addcommand(back); saida.setcommandlistener(this); return saida;

12/18 private TextBox CriaTextBoxForm() TextBox textbox; textbox = new TextBox("Digite um numero entre 0 e 4:", "0", 2, TextField.NUMERIC); textbox.addcommand(exit); textbox.addcommand(new Command("ShowMe",Command.OK,1)); textbox.addcommand(chamalista); textbox.addcommand(back); textbox.setcommandlistener(this); return textbox; public void startapp() criaalertas(); display = Display.getDisplay(this); janela.addcommand(back); janela.addcommand(exit); janela.addcommand(new Command("TextBox",Command.OK,1)); janela.addcommand(new Command("Calendario", Command.OK,2)); janela.addcommand(new Command("Escolhas", Command.OK,3)); janela.setcommandlistener(this); display.setcurrent(janela); public void pauseapp () public void destroyapp(boolean unconditional) public void commandaction(command c, Displayable s) if (c.getcommandtype() == Command.EXIT) notifydestroyed(); if (c.getcommandtype() == Command.BACK)display.setCurrent(janela); if (c.getlabel() == "TextBox") display.setcurrent(inicio);

13/18 if (c.getlabel() == "ShowMe") int op = Integer.parseInt(inicio.getString().trim()); if ((op>=0) && (op<5)) display.setcurrent(alerta[op]); if (c.getlabel() == "Escolhas") display.setcurrent(componenteitem()); if (c.getlabel() == "Calendario") display.setcurrent(formcalendario()); Ilustrações da Execução do programa:

14/18

15/18 7.5.3 ImageItem O que é? O ImageItem contém uma referência a uma image ou objeto Image. Ele permite mostrar imagem na tela do aplicativo. Chamada do Construtor: O Construtor pode ser chamado conforme a seguir: new ImageItem(String rotulo, Image figura, int layout, String textoalternativo); Exemplo: new ImageItem("Texto", Image.createImage( coruja.jpg ), ImageItem.LAYOUT_CENTER, null) Valores possíveis do layout: Item.LAYOUT_CENTER Item.LAYOUT_LEFT Item.LAYOUT_RIGHT Item.LAYOUT_DEFAULT Item.LAYOUT_NEWLINE_AFTER Item.LAYOUT_NEWLINE_BEFORE Aonde guardar a imagen? As imagens devem ser armazenadas no diretório /res da aplicação, conforme ilustra a figura a seguir.

16/18 Exemplo de aplicação que permite carregar imagens. 1. Inicie um novo Midlet, conforme ilustra a figura a seguir. 2. Desenvolva o código a seguir. ///////////////////////////////// arquivo Imagem_Midlet.java import javax.microedition.midlet.midlet.*; import javax.microedition.lcdui.*; public class Imagem_Midlet extends javax.microedition.midlet.midlet implements CommandListener private Display display; private Command exitcommand = new Command("Exit", Command.EXIT, 0); public Imagem_Midlet() public void carregaimagem(string i, Form f) try Image figura = Image.createImage(i); f.append(new ImageItem("Imagem Carregada:", figura, ImageItem.LAYOUT_CENTER, null)); catch (java.io.ioexception e) f.append("erro ao carregar a imagem:"+i+"\n"+e);

17/18 public void startapp() display = Display.getDisplay(this); Form mainform = new Form("Mostra Imagem"); carregaimagem("/coruja.jpg",mainform); mainform.addcommand(exitcommand); mainform.setcommandlistener(this); display.setcurrent(mainform); public void pauseapp () public void destroyapp(boolean unconditional) public void commandaction(command c, Displayable s) if (c.getcommandtype() == Command.EXIT) notifydestroyed();

18/18 Exemplo de Execução: