Upload
internet
View
122
Download
3
Embed Size (px)
Citation preview
J2MEMini Curso
Agenda
Introdução; Arquitetura J2ME; Configuração; Perfil; Pacotes Opcionais (APIs); MIDlet; MIDlet Suite; Empacotamento e Distribuição; Interface;
Agenda (cont.)
Comandos; Ambiente de Desenvolvimento; O processo de desenvolvimento; Vamos ao código! Ambiente de Desenvolvimento; Vamos ao código!
Importação e Análise da primeira aplicação; Outra aplicação do zero; Exercício;
Empacotamento e deploy do exercício no disp. Móvel; Encerramento;
Introdução
J2ME: “Coleção de tecnologias e especificações
que criam uma plataforma que se ajusta aos requisitos de dispositivos móveis”;
Conjunto de tecnologias que permitem o desenvol- vimento de aplicações Java para dispositivos com processamento, memória e rede limitados;
Construída com o objetivo de fornecer um ambiente de execução Java capaz de lidar com as características particulares de pequenos dispositivos;
Arquitetura J2ME
Baseado em três elementos especificados pela comunidade JCP (Java Community Process): Configurações, perfis e pacotes opcionais; Funcionamento sobre uma máquina virtual
Java;
Configuração
Descrevem as funcionalidades básicas requeridas pelo conjunto de dispositivos; Ex: processamento, memória, tipo de
conexão de rede; Possui bibliotecas básicas da linguagem
representando a plataforma mínima de desenvolvimento para cada tipo de dispositivo;
Definidas pelos fabricantes;
Configuração (cont.)
A Java Community Process (JCP) especifica o Java ME em duas configurações: CLDC – Connected Limited Device
Configuration Dispositivos com menor capacidade
computacional como: telefones celulares e smartphones;
CDC – Connected Device Configuration Dispositivos com maior capacidade computacional
como: PDAs, TV Digital e sistemas automotivos;
Configuração CLDC
Subconjunto de pacotes disponíveis no J2SE e abrange os dispositivos com restrições de processamento, memória e vídeo: Celulares; Smartphones; Pagers; PDAs.
Configuração CLDC – Versão 1.0 JSR 30; Ausência de ponto flutuante; Restrita a apenas quatro pacotes:
java.io Tratamento de entrada e saída de dados;
java.lang Classes básicas da linguagem Java;
java.util Classes de utilidades genéricas;
java.microedition.io Exclusivamente da plataforma Java ME, incluindo as
classes de conexão;
Configuração CLDC – Versão 1.1 JSR 139 Engloba os pacotes da versão 1.0 e outras
características: Ponto flutuante
Operações com variáveis do tipo float/double; ClassLoading
Classe abstrata responsável por carregar outras classes; Garbage Collector
Coletor de lixo dos objetos; JNI (Java Native Interface)
Chamada de aplicações nativas de um sistema; RMI (Remote Method Invocation)
Execução de chamadas remotas;
Perfil
No topo das configurações estão os perfis;
Conjuntos de APIs mais específicas que complementa uma configuração: Ciclo de vida da aplicação; Persistência de dados; Elementos de interface gráfica; Transações seguras; Gerênciamento de sons;
Perfil (cont.)
CLDC: MIDP (Mobile Information Device Profile);
CDC: FP (Foundation Profile); PP (Personal Profile); PBP (Personal Basis Profile); RMIP (Remote Method Invocation Profile) GP (Game Profile);
Perfil - MIDP
Mobile Information Device Profile; Perfil suportado pela configuração CDLC, onde
juntos providenciam um ambiente padrão de execução Java para os mais populares dispositivos móveis, como os celulares e PDAs;
Responsabilidades Reprodução de multimídia, suporte a protocolos
dos tipos HTTP e sockets, suporte ao sistema de cores RGB, definição de formulários e itens, APIs para jogos, validação de permissões de segurança e assinaturas digitais;
Perfil – MIDP (cont.)
Recursos mínimos: Memória:
128KB de memória não volátil para implementação MIDP;
8KB de memória não volátil para persistir dados das aplicações;
32KB de runtime e heap; Interface com o usuário:
Display com 1 bit de cor e resolução mínima de 96 x 54 pixels;
Entrada de dados via teclado ou tela sensível ao toque; Rede:
Conectividade com algum tipo de rede sem fio;
Pacotes Opcionais (APIs)
Apoio em áreas com funcionalidades restritas que alguns dispositivos e aplicações precisam;
Disponibilizadas através de JSRs (Java Specification Requests);
Exemplos: Bluetooth (JSR-82); File Connection API (JSR-75); Location API (JSR 179); Mobile 3D Graphics API (JSR 184); Mobile Game API (JSR 178);
Resumindo…
MIDlet
Aplicativos J2ME baseados em MIDP são chamados de MIDlets;
Utiliza somente classes definidas pelas APIs do CLDC e MIDP;
Applet desenvolvido especificamente para dispositivos móveis;
Interface de comunicação com o Application Manager (AM);
Contém os métodos que inicializam, resumem, interrompem e destroem a aplicação;
MIDlet - Ciclo de vida
MIDlet Suite
Consiste em um ou mais MIDlets, .java, recursos (imagens, xmls) e um arquivo de manifesto que estão situados dentro de um Java Archive (JAR) e um arquivo de descrição chamado Java Application Descriptor (JAD).
Empacotamento e Distribuição: JAR
Todas as MIDlets são empacotadas antes de serem transferidas a um dispositivo, isso é feito através de um método de compressão onde são colocadas todas as informações em um único arquivo cuja extensão é .JAR.
Benefícios: Segurança - através de assinaturas digitais; Compressão; Empacotamento de extensões, juntando vários tipos de
extensões diferentes em uma única; Portabilidade e o fato de quando é necessário fazer o
download de uma aplicação apenas um arquivo deve ser baixado;
Empacotamento e Distribuição: JAD
Descreve os detalhes da aplicação, ou seja, contém as informações sobre o MIDlet;
Está fora do JAR e pode ser acessado sem mesmo instalar o arquivo JAR em um dispositivo;
Prepara o JAR a ser instalado, otimizando a instalação do aplicativo;
Personalização do ícone da aplicação ou o diretório em que o aplicativo deve ser instalado;
Empacotamento e Distribuição - JAD
O arquivo possui a seguinte estrutura: MIDlet-Name: Nome da Suite MIDlet; MIDlet-Version: Versão do MIDlet; MIDlet-Vendor: Criador do MIDlet; MIDlet-Icon: Ícone do aplicativo; MIDlet-Description: Descrição do
aplicativo; MIDlet-Info-URL: Endereço para um
arquivo de informações (JAR); MIDlet-DATA-Size: Tamanho do JAR.
Interface
Responsáveis pela apresentação e manipulação das informações;
Conforme o celular variam de tamanho de tela, cores, teclados, touch-Screens e outros aspectos ;
Dividida em duas: High-level API's
Screen e suas heranças; São classificados como objetos de Interface;
Low-level API's Canvas e suas heranças; Proporcionam uma área livre para gráficos;
Interface
Comandos
Tornar a interface com o usuário dinâmica, defi -nindo as operações e navegação da aplicação;
Um command contém somente uma informação sobre o comando e não sobre qual ação realizar;
Quando acionados são notificados a um Command Listener associado ao Displayable;
Quando um comando é acionado, o commadAction o captura, juntamente com o Displayable atual;
Ambiente de Desenvolvimento
NetBeans Mobility Pack: SDK; Emuladores; Debug; Empacotamento; Ferramentas visuais
Game Builder; Visual Mobile Designer;
Integração com outras ferramentas; Aplicações de Exemplo;
O processo de desenvolvimento O processo de desenvolvimento de
MIDlet's é um pouco mais complexo do que de outros programas feitos em JAVA, pois é feito segundo estes passos: Editar código fonte; Compilar; Pré-Verificar; Empacotar; Testar e/ou Instalar;
Vamos ao código!
Encerramento
Referências
Desenvolvedores J2ME http://developers.sun.com/mobility/midp/articles/getstart
Livros John W. Muchow: Core J2ME Technology and MIDP (Sun
Microsystems Press) Michael Yuan:
Enterprise J2ME: Developing Mobile Java Applications (Prentice Hall)
Riggs, Taivalsaari, and VandenBrink: Programming Wireless Devices with the Java(tm) 2 Platform, Micro Edition (The Java Series)
Site Nokia para desenvolvedores http://www.forum.nokia.com/Develop/Java
Referências (cont.)
Java Móvel http://www.javamovel.com
Overview Oracle J2ME http://www.oracle.com/technetwork/java/
javame/overview/index.html Blog J2ME Group
http://j2megroup.blogspot.com Exemplos
http://developers.sun.com/mobility/reference/codesamples