J2ME Mini Curso.

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Java Remote Method Invocation Java RMI
[Material apresentado no SBGames2005]
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Programação para dispositivos móveis
Programação para dispositivos móveis 2º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula.
Programação para dispositivos móveis 2º Semestre 2009 > PUCPR > Design Digital Bruno C. de Paula.
Iniciando na plataforma Eclipse
Agentes Móveis Marcelo Bezerra dAmorim Sumário n Motivação n Introdução ao Paradigma de Agentes Móveis n Vantagens n Conceitos de Agentes Móveis n Tecnologias.
TRABALHO DE CONCLUSÃO II PUCRS – Faculdade de Informática
Marcelo Tocchetto Tiago Duarte Professor Eduardo Augusto Bezerra
Rebeca Schroeder Linguagem Java Rebeca Schroeder
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
WebWork e JSP Keven andrade
Introdução a EJB 3.0 Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.
Mobilidade Cláudia Ribeiro.
Introdução a Programação Orientada a Objetos
Desenvolvimento para Dispositivos Móveis
Camada de Transporte: Portas, Sockets, Aplicações em Rede
Linguagem de Programação JAVA
em aplicações corporativas
Rodrigo Cristiano Silva
JAVA FX “O próximo passo na evolução do Java como plataforma de desenvolvimento de aplicações clientes ricas.” - Oracle. Alexandre Cechinel Beatriz.
Aula 9 - Camada de aplicação
JAVA Linguagem Ambiente de Desenvolvimento
Especificação de Requisitos de Software - ERSw
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Web Services Uninorte Semana de Tecnologia da Informação
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Jornada de Cursos – J2ME Aula 2 – Configuração.
Programa Expresso de Capacitação Módulo J2ME Aula 1 – Overview e Conceitos básicos.
Conceitos de J2EE para a WEB
XIV Jornada de Cursos .NET com C# Antônio Júnior Bruno Inojosa.
Professor: Márcio Amador
Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009.
Luiz Antonio Torres, Maio/2014
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
SISTEMAS OPERACIONAIS I
MINI CURSO J2ME Vinícius Maran SEMINÁRIO REGIONAL DE INFORMÁTICA 2008.
MINI CURSO J2ME Vinícius Maran SEMINÁRIO REGIONAL DE INFORMÁTICA 2008.
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
@2011 Éfren L. Souza1 Plataforma Android Uma Visão Geral para Desenvolvedores.
Automação de Testes de Software
Plataforma Java 2 - Micro Edition (J2ME) Prof. Afonso Ferreira Miguel, MSc.
Sistema de Gestão de Segurança da Informação
Subsistema de Entrada e Saída do Kernel
Introdução JAVA Faculdade Mauricio de Nassau
Alexandre F. Zimmermann
Aguilar Figueira Dias Orientador Prof. Dr. João Bosco da Mota Alves
Flávia Falcão Java Performance Flávia Falcão
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas.
Introdução a Programação Orientada a Objetos
Java Disciplina: Programação II Professora: Mai-Ly Vanessa.
Mini Curso.
16 de Setembro, Projeto Conceitual de Jogos Saulo Souto Geber Ramalho Saulo Souto
1/18 Java ME, MIDP 2.0 e SATSA: Segurança para MIDs Alexandre Ilha Márcia Cristina Cera Trabalho Leve 1 - Abril/2006.
Peer-to-Peer em Redes Móveis Bruno Oliveira Silvestre PUC-Rio.
1 Baseado em whitepapers/eclipse-overview.pdf Nelson Lago IME/USP 04/2003 A Plataforma Eclipse.
JSR 82 - JavaTM APIs for Bluetooth: uma aplicação das bibliotecas BlueCove e Marge. II-UFRGS Programação com Objetos Distribuídos 2011/1 Gabriel Simões.
Computação Móvel e Embarcada ANDRÉ GUSTAVO DEGAF UCHÔA DISCIPLINA: ENG. DE SOFTWARE PROF: ALCIDES CALSAVARA & EDSON SCALABRIN.
Computação Móvel J2ME. Java 2 Platform (1) Java 2 Standard Edition (J2SE) – Desktop applications Java 2 Enterprise Edition (J2EE) – Server applications.
Plataforma Java 2 Micro Edition (J2ME)
Introdução aos Sistemas Operacionais
Elementos de Informática
GOTO. Project treinamento expresso j2me Luiz Carlos d´Oleron lcadb at cin.ufpe.br.
Seminários.reply Introdução a JavaME Guilherme Carvalho.
Acessando banco de dados com JAVA.  Linguagem independente de plataforma; ◦ “Write once, run anywhere” ◦ JVM  Java Virtual Machine  Mecanismo que permite.
Introdução à plataforma Java. 2 A tecnologia Java Java: linguagem de programação e plataforma de desenvolvimento Criada pela Sun Microsystems Apoiada.
Transcrição da apresentação:

J2ME Mini 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! 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: CDC: MIDP (Mobile Information Device Profile); 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 Livros 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 Overview Oracle J2ME Blog J2ME Group http://www.javamovel.com Overview Oracle J2ME http://www.oracle.com/technetwork/java/javame/ove rview/index.html Blog J2ME Group http://j2megroup.blogspot.com Exemplos http://developers.sun.com/mobility/reference/codesa mples