Programação para Celular com Java

Documentos relacionados
Programação para Celular com Java Tipos de Tela

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

Capítulo 15 - VendaRemota.java

Tutorial J2ME Parte 3

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

FINAL: CÓDIGO-FONTE DA MIDLET

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

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


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

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

ANDROID APPLICATION PROJECT

Conexão Socket na MIDP

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Nota de Aula: Utilização da IDE Code::Blocks

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

UMA ABORDAGEM SOBRE J2ME

Google Drive. Passos. Configurando o Google Drive

Manual da Turma Virtual: MATERIAIS. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo:

Arquitectura de Sistemas Computacionais

Prática em Laboratório N.01 Criando um Serviço Web via Console

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

❶ No Sistema Gênesis, na Aba ESTOQUE

Programação Gráfica em Java.

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

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Técnicas de Programação II

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Permissão de Usuários

Manual de Utilização do PLONE (Gerenciador de página pessoal)

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

DESENVOLVIMENTO DE APLICATIVOS PARA CELULAR JAVA 2 MICRO EDITION

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

Unidade 7: Middleware JDBC e Java DB Prof. Daniel Caetano (Fonte: Tutorial Oficial do NetBeans)

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

INSTALAÇÃO DO MICROSOFT WINDOWS SHAREPOINT SERVICES 2.0

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

SIMULADO Windows 7 Parte V

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta:

O Primeiro Programa em Visual Studio.net

Manual de Uso. Intranet

Guia do Usuário do Aplicativo Desktop Client

Android e Bancos de Dados

Versão PIMACO AUTOADESIVOS LTDA. Assistente Pimaco Ajuda ao Usuário

WordPress Institucional UFPel Guia Rápido

PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB

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

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Manual do Aplicativo - Rastreamento Veicular

Java 2 Platform, Micro Edition (J2ME)

WORKSHOP Ferramenta OLAP IBM Cognos

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

MANUAL DO PVP SUMÁRIO

TUTORIAL PARA ATUALIZAÇÃO DO PORTAL DO TJRN

* MANUAL CLIENTE PARA UTILIZAÇÃO E ACESSO À PLATAFORMA TORPEDO CERTO

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

OneDrive: saiba como usar a nuvem da Microsoft

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

Treinamento Plone. Unirio

Curso Básico Sistema EMBI

WORD. Professor: Leandro Crescencio Colégio Politécnico 1

Digifort Mobile Manual Version 1.0 Rev. A

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

EAI Manual do Administrador

Departamento de Tecnologia da Informação DTI Coordenadoria de Relacionamento com o Cliente CRC. Treinamento Básico do Correio Eletrônico

Personata Recorder. Manual de Instalação e Configuração

USANDO O ROUNDCUBE WEBMAIL

MANUAL PARA UTILIZAÇÃO DO MOODLE FACULDADE INTERAÇÃO AMERICANA VIRTUAL - Versão: Aluno

Senha: Dígitos do CPF (sem pontos ou traço)

Site do Advogado Manual

Programação para Dispositivos Móveis

GUIA RÁPIDO SISTEMA ANTIFURTO THEFT DETERRENT

Script de Configuração dos (Webmail /Outlook Express)

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

PASSO A PASSO GOOGLE DOCS - FORMULÁRIOS GOOGLE DOCS

Moodle - CEAD Manual do Estudante

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Escolhendo recursos de Ajuda

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.

WebEDI - Tumelero Manual de Utilização

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

TCEnet. Manual Técnico. Responsável Operacional das Entidades

Manual Instalação Pedido Eletrônico

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

MP-MOBILE. Manual do usuário

País(es) : Brasil Banco(s) de Dados : SQL Server, Oracle

Delphi 7 Aula 01 Área do Triângulo

Criando documentação com javadoc

1. Introdução Instalação Baixando o arquivo Instalando Enviando SMS Configurando o Itcell sms massa...

Visualizando relatórios pelo NeoNews Player. Documentação para Usuário Final

Manual do usuário. v1.0

Persistência de Classes em Tabelas de Banco de Dados

Sistema de Recursos Humanos

Manual de Instalação do Agente Citsmart

Universidade Federal da Fronteira Sul Campus Chapecó Sistema Operacional

Manual do Contribuidor. Portal de Internet. Projeto: Novo Portal de internet

Portal Institucional do IFPB

Transcrição:

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. Ciclo Simples de Desenvolvimento... 3 3.1- A edição do código fonte.... 3 3.2- Código do Exemplo... 3 3.3- Aonde salvar o arquivo digitado?... 4 3.4- Análise do código... 4 4. Build... 4 4.1- Resultado da Execução... 5 Observação... 5 5. A Biblioteca javax.microedition.lcdui.*.... 6 5.1 As classes javax.microedition.display e javax.microedition.displayable... 7 6. A classe javax.microedition.lcdui.command... 7 6.1 O construtor... 7 6.2 Exemplo... 7 6.3 Exercício... 8 7. A Classe javax.microedition.lcdui.screen... 9 Tipos de Tela:... 9 7.1 Tela Form... 9 7.2 Tela TextBox... 10 Exemplo/Exercício:... 11 Referência Bibliográfica:... 13

2/13 1. Introdução: 2. Como criar um novo Projeto? MIDlet suites são organizadas em projetos. O resultado de um projeto é um Midlet Suite. Um projeto contém todos os arquivos necessários para a construção de um MIDlet suite. 1. Na interface do WTK2.5.2, clique no botão New Project. 2. Na Janela que é apresentada informe o nome do projeto e o nome da classe, conforme ilustrado pela figura a seguir. 3. Uma janela de Settings for Projects é apresentada. Sem modificar nada, clique no botão OK dessa janela. Mensagens serão apresentadas no console informando o local de armazenamento dos códigos, conforme ilustra a figura a seguir.

3/13 3. Ciclo Simples de Desenvolvime nto O ciclo de desenvolvimento de uma aplicação é formado por: 1. Edit: Editar e salvar o código fonte. 2. Build: Compilação e pré-verificação do código Java. 3. Run: Execução das classes compiladas em um emulador. 3.1- A edição do código fonte. 3.2- Código do Exemplo Crie no seu editor de códigos a seguir: //////////////// arquivo MeuPrimeiroMidlet_Midlet.java import javax.microedition.lcdui.*; import javax.microedition.midlet.midlet; public class MeuPrimeiroMidlet_Midlet { extends MIDlet implements CommandListener private Form janela; private Display display; public void startapp() { display = Display.getDisplay(this); janela = new Form("MeuMidlet"); janela.append("ola Mundo!"); Command exitcommand = new Command("Exit", Command.EXIT, 0); janela.addcommand(exitcommand); 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(); /* Observação Importante: O código Java exemplificado não deverá ser compilado através da interface de edição. A compilação do código será realizada no WTK2.5.2. */

4/13 3.3- Aonde salvar o arquivo digitado? Esse arquivo deve ser salvo no diretório workdir\apps\meuprimeiromidlet\src\. Se foi utilizado a instalação padrão, o diretório a ser instalado será o ilustrado na figura a seguir. 3.4- Análise do código A API microedition é um conjunto de pacotes exclusivos. Esse conjunto é formado pelos seguintes pacotes: javax.microedition.midlet.* : define as aplicações e a interação entre a aplicação e o ambiente de execução. javax.microedition.lcdui.* : Fornece classes para implementação de interface gráfica. javax.microedition.lcdui.game.* : Fornece classes para o desenvolvimento de jogos. javax.microedition.rms.* : Fornece classes para implementar o armazenamento de dados no dispositivo. javax.microedition.pki.* : Permite autenticar a comunicação segura. 4. Build O Midlet está inicialmente no estado carregado. Quando a aplicação é iniciada pelo método startapp(), o Midlet muda o seu estado para ativo. O método pauseapp() dá uma pausa na execução e o destroyapp() termina a sua execução. A definição desses três métodos é obrigatoria. O próximo passo é chamar o compilador através do botão Build do WTK2.5.2. Ao clicar no botão Build da interface do WTK2.5.2, o resultado da

5/13 compilação é apresentada no console, conforme ilustra a figura a seguir. 4.1- Resultado da Execução Observação A interface gráfica para este tipo de dispositivo é bastante limitada quando comparada com uma aplicação Desktop. Tipicamente, a tela possui 95x125 ou 128x128 pixels. Só é possível utilizar poucos elementos visuais simples.

Programação para Celular com Java Interface Gráfica 6/13 Objetivo: Capacitar o aluno a Criar múltiplos formulários Desenvolver elementos navegadores Inserir alguns componentes gráficos em uma aplicação Adicionar interatividade na aplicação. 5. A Biblioteca javax.microedition.lcdui.*. Essa biblioteca é responsável por disponibilizar os seguintes componentes: javax.microedition.alerttype javax.microedition.command javax.microedition.display javax.microedition.displayable javax.microedition.canvas javax.microedition.screen javax.microedition.alert javax.microedition.form javax.microedition.list javax.microedition.textbox javax.microedition.font javax.microedition.graphics javax.microedition.image javax.microedition.item javax.microedition.choicegorup javax.microedition.customitem javax.microedition.datefield javax.microedition.gauge javax.microedition.imageitem javax.microedition.spacer javax.microedition.stringitem javax.microedition.textfield javax.microedition.ticker

7/13 5.1 As classes javax.microedition.display e javax.microedition.displayable Uma instância dessa classe representa a tela de exibição. Pode-se utilizar apenas um único objeto Display. O Display representao o hardware enquanto que a Displayable é uma informação que pode ser apresentada no Display. 6. A classe javax.microedition.lcdui.command Essa classe permite adicionar funcionalidade aos objetos exibidos. Os comandos podem ser dos tipos listados na Tabela a seguir. BACK CANCEL EXIT HELP ITEM OK STOP SCREEN Retorna à tela anterior Cancela uma operação Encerra a aplicação Chama por ajuda Utilizado junto com o elemento do tipo choice para determinar um item da tela Resposta positiva. Interrompe um processo de execução expecifica que um comando está associado à tela. 6.1 O construtor Uma instância de Command deve ser inicializada através da definição de um nome, tipo e prioridade. Por exemplo, 6.2 Exemplo Command sair = new Command("Exit",Command.EXIT, 0); Command ok = new Command("OK",Command.OK, 1); Command back = new Command("Back",Command.BACK, 1); No Midlet desenvolvido anteriormente, modifique o código inserindo novas opções de comando, conforme ilustra a figura a seguir. O resultado da modificação é ilustrado na figura a seguir.

8/13 6.3 Exercício. No Midlet desenvolvido até o presente momento, altere o código conforme ilustrado a seguir. Qual a ordem dos elementos a serem apresentado no Menu? ////////////////////////////// arquivo MeuPrimeiroMidlet_Midlet.java import javax.microedition.lcdui.*; import javax.microedition.midlet.midlet; public class MeuPrimeiroMidlet_Midlet extends MIDlet implements CommandListener { private Form janela; private Display display; public void startapp() { display = Display.getDisplay(this); janela = new Form("MeuMidlet"); janela.append("ola Mundo!"); Command exitcommand = new Command("Exit", Command.OK, 1); Command ok = new Command("OK",Command.OK, 0); Command back = new Command("Back",Command.OK, 2); Command parar = new Command("Parar",Command.OK,3 ); Command cancelar = new Command("Cancelar",Command.OK,4 ); Command valorpi = new Command("Valor de Pi", Command.OK,5); janela.addcommand(exitcommand); janela.addcommand(ok); janela.addcommand(back);

9/13 janela.addcommand(parar); janela.addcommand(cancelar); janela.addcommand(valorpi); janela.setcommandlistener(this); display.setcurrent(janela); public void pauseapp () { public void destroyapp(boolean unconditional) { public void commandaction(command c, Displayable s) { if (c.getlabel() == "Exit") notifydestroyed(); else janela.append("\n"+c.getlabel()); if (c.getlabel() == "Valor de Pi") janela.append("="+ Math.PI); 7. A Classe javax.microedition.lcdui.screen A classe Screen permite a inserção de objetos gráficos. Tipos de Tela: A classe Screen admite quatro tipos de tela, a saber: Form Alert List TextBox 7.1 Tela Form Form é uma tela que pode conter diversos tipos de elementos gráficos, tais como imagens, campos de edição e textos. O exemplo estudado até o presente momento utilizou apenas a Tela Form. Construtor O construtor do Form deve ser chamado com a seguinte estrutura: Form(String title) : Cria um formulário vazio. Form(String title, Item[] items) : Cria um formulário com alguns itens.

10/13 Exemplo de construtor: Form janela = new Form("MeuMidlet"); Outro exemplo de Construtor: Item[] lista = new Item[3]; lista[0] = new StringItem( "Opção 1","",Item.PLAIN); lista[1]= new StringItem( "Opção 2",,Item.PLAIN); lista[2]= new StringItem( "Opção 3","",Item.PLAIN); janela = new Form("MeuMidlet",lista); CommandListener Métodos Um form pode conter comandos de ações. Exemplo de definição de CommandListener: janela.setcommandlistener(this); int append(item i) Adiciona um item ao formulário void deleteall( ) Deleta todos os itens do formulário int getheight( ) Obtém a largura da tela int getwidth ( ) Obtém o comprimento da tela void insert(int p, Item i) Insere um item noformulário 7.2 Tela TextBox A classe TextBox é um tipo de tela. Construtor O construtor pode ser definido conforme o exemplo a seguir: TextBox entrada1 = new TextBox(String title, String text, int maxsize, int constraints) Os parâmetros necessários ao construtor podem ser definidos como sendo: title O título do display text O conteúdo inicial a ser apresentado. maxsize a capacidade máxima em caracteres. constraints ANY, EMAILADDR, NUMERIC, PHONENUMBER, URL DECIMAL e PASSWORD, UNEDITABLE,SENSITIVE,NON_PREDICTIVE,INITIAL_CAPS_WORD,INITIAL_CAPS_SENTENCE Métodos Relacionados void delete(int i, int f) String getstring( ) Deleta caracteres do TextBox Retorna o seu conteúdo void insert(string s, int p) Insere a string s na posição p

11/13 void setmaxsize(int n) void settitle(string s) int size() Define o tamanho máximo que o TextBox pode conter Dá um título ao TextBox Retorna a quantidade de caracteres do TextBox. Exemplo/Exercício: Modifique o exemplo anterior, adicionando os novos conceitos apresentados, conforme o código abaixo. O que a aplicação faz? ////////////////////////////// arquivo MeuPrimeiroMidlet_Midlet.java import javax.microedition.lcdui.*; import javax.microedition.midlet.midlet; public class MeuPrimeiroMidlet_Midlet extends MIDlet implements CommandListener { private Form janela; private final int tamanho = 3; private TextBox[] entrada = new TextBox[tamanho]; private Item[] lista = new Item[tamanho]; private StringItem[] campos = new StringItem[tamanho]; private Display display; public void startapp() { display = Display.getDisplay(this); campos[0] = new StringItem("Nome","",Item.PLAIN); campos[1] = new StringItem("Idade","",Item.PLAIN); campos[2] = new StringItem("Senha","",Item.PLAIN); for (int i = 0; i < tamanho; i++) lista[i] = campos[i]; janela = new Form("MeuMidlet",lista); janela.append("\nola Mundo!"); entrada[0]= new TextBox("Nome",null, 20, TextField.INITIAL_CAPS_WORD); entrada[1] = new TextBox("Idade", null, 2, TextField.NUMERIC);

12/13 entrada[2] = new TextBox("Senha", null, 8, TextField.PASSWORD); Command exitcommand = new Command("Exit", Command.OK, 1); Command nome = new Command("Nome",Command.OK, 0); Command idade = new Command("Idade",Command.OK, 0); Command senha = new Command("Senha",Command.OK, 0); Command back = new Command("Back",Command.BACK, 2); Command parar = new Command("Parar",Command.OK,3 ); Command cancelar = new Command("Cancelar",Command.OK,4 ); Command valorpi = new Command("Valor de Pi",Command.OK,5); for (int i = 0; i < tamanho; i++) entrada[i].addcommand(back); janela.addcommand(exitcommand); janela.addcommand(nome); janela.addcommand(idade); janela.addcommand(senha); janela.addcommand(back); janela.addcommand(parar); janela.addcommand(cancelar); janela.addcommand(valorpi); janela.setcommandlistener(this); for (int i = 0; i < tamanho; i++) entrada[i].setcommandlistener(this); display.setcurrent(janela); public void pauseapp () { public void destroyapp(boolean unconditional) { public void commandaction(command c, Displayable s) { if (c.getlabel() == "Back") { for (int i = 0; i < tamanho; i++) campos[i].settext(entrada[i].getstring()); display.setcurrent(janela); if (s==janela) { if (c.getlabel() == "Exit")

13/13 notifydestroyed(); else if (c.getlabel() == "Nome") display.setcurrent(entrada[0]); else if (c.getlabel() == "Idade") display.setcurrent(entrada[1]); else if (c.getlabel() == "Senha") display.setcurrent(entrada[2]); else janela.append("\n"+c.getlabel()); if (c.getlabel() == "Valor de Pi") janela.append("="+ Math.PI); Referência Bibliográfica: Título:Java para Dispositivos Móveis : desenvolvendo aplicações com J2ME Ano: 2007 Autor: Thienne M. Johnson Editora: Novatec Editora ISBN: 978-85-7522-143-3