Cadastre-se Revistas DevMedia Cursos
 



Últimas 20 atualizações de Rafael Viana

Artigo - Primeiros passos com Java ME - Revista easy Java Magazine 7

Java ME é uma tecnologia que visa facilitar o desenvolvimento de aplicações para dispositivos com restrições no hardware, geralmente não encarados como computadores, a exemplo de celulares, receptores para TV Digital, GPSs, dentre outros. Além de funcionar em dispositivos diferentes, permite que programas feitos para uma certa categoria de dispositivos seja portável entre eles, como um jogo criado para rodar tanto em celulares simples como em smartphones. Tudo isso é possível através da linguagem Java que estamos habituados, mas com algumas diferenças.

O presente artigo faz uma introdução a essa tecnologia, apresentando suas características, objetivo e como criar aplicações por meio de sua utilização. Para isso, serão expostos alguns conceitos chave, a saber, Configurações (Configurations) e Perfis (Profiles), dividindo em grupos os diversos dispositivos em que o Java ME está presente. Abordaremos ainda a preparação de um ambiente de desenvolvimento, mais precisamente a IDE NetBeans, com o intuito de criar sistemas Java ME.

Por fim, trataremos sobre MIDlets e, através da implementação de dois programas, aprenderemos como permitir a interação do usuário com a aplicação em ambientes móveis.

O que é Java ME?

Quando a linguagem Java foi lançada em 1995, trazia um objetivo audacioso: estar presente em todos os ambientes computacionais possíveis, seja ele Desktop, Web ou em pequenos dispositivos, permitindo que um programa escrito para um desses ambientes pudesse rodar nos outros sem grandes modificações. Pode-se dizer que esse objetivo foi em parte alcançado, pois nos dias de hoje a plataforma Java está presente em todos esses ambientes. Nos desktops temos o Java SE, que é o core da plataforma, possuindo as bibliotecas e especificações básicas para o desenvolvimento Java. No ambiente web e de aplicações empresariais aparece o Java EE, que é uma extensão ao Java SE, possuindo um número maior de pacotes e muitas especificações. Já no ambiente de dispositivos móveis, ou pervasivos, encontramos o Java ME (ver Figura 1), foco principal do presente artigo.

 Em síntese, a plataforma Java ME consiste em uma família de especificações que definem um conjunto de versões mais enxutas do Java SE (Java padrão), sendo usadas para desenvolver aplicações para dispositivos eletrônicos com baixo poder de processamento e memória, mesmo que eles sejam tão diferentes entre si na forma e função.

Java ME encontra-se dividida em Configurações, Perfis e APIs opcionais. Configuração é uma especificação escrita para um grupo de dispositivos diferentes em função, mas com capacidade de processamento e memória parecidos, a exemplo de set-top boxes e GPSs. A configuração define também uma Java Virtual Machine (JVM) que obedeça estas restrições.

Perfil é uma camada de abstração sobre uma configuração, adicionando um conjunto de APIs de alto nível, como APIs para a construção de interfaces com o usuário e persistência. Essas APIs servem de base para o desenvolvimento de aplicativos para dispositivos com hardware (basicamente memória e processador) e função parecidas, a exemplo de celulares com sua diversidade de modelos e diferentes fabricantes. Uma configuração pode ter mais de um perfil associado a ela.

APIs opcionais definem funcionalidades adicionais que podem ser incluídas em uma configuração em particular. O conjunto formado por uma Configuração, um ou mais Perfis e APIs opcionais implementadas em um dado dispositivo é chamado de Pilha (Stack), como pode ser visto na Figura 2. Assim, uma pilha comum em Java ME é CLDC (Configuração) + MIDP (Perfil) + JSR 82 (API opcional).

 Configuração (Configuration)

As configurações especificam um conjunto de serviços mínimos que serão utilizados pela aplicação, como o controle do ciclo de vida, criação de interfaces gráficas, serviços de persistência de dados, segurança, troca de dados por uma rede, entre outros serviços; no entanto, não fornece um tipo de classe para o gerenciamento destes. As classes de gerenciamento são disponibilizadas nos perfis e nas APIs opcionais.

Uma configuração também define uma JVM, capaz de prover esses serviços de baixo nível tendo em vista as restrições impostas pela própria natureza do dispositivo, a saber:

·         O tipo e quantidade de memória disponível;

·         O tipo de processador e sua velocidade;

·         A forma de conexão em rede e acesso a Internet.

 

Devido à diversidade dessas características, encontradas nos dispositivos em que o Java ME está presente, o mesmo define duas grandes configurações: Connected Device Configuration (CDC) e Connected Limited Device Configuration (CLDC).

Connected Device Configuration (CDC)

Determina que os dispositivos tenham, pelo menos, 512 KB de memória ROM, 256 KB de memória RAM e possuam algum tipo de conexão com uma rede. A CDC foi desenvolvida visando dispositivos como set-top boxes, GPSs, fotocopiadoras, etc. Na CDC a JVM escolhida foi a CDC HotSpot.

A CDC HotSpot é baseada na JVM padrão do Java 1.4 (Java SE 1.4), com modificações para dispositivos com restrições de poucos recursos. As características mais importantes dessa máquina virtual são:

·         Portabilidade;

·         Execução de classes Java fora da memória ROM;

·         Suporte nativo a threads;

·         Mapeamento de threads Java direto para threads nati

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
06/06/2011 17:19:00





 

Mestrando em Engenharia Elétrica pela Universidade Federal do Maranhão (UFMA). Membro do Laboratório de Sistemas Distribuídos (LSD) na UFMA e do Laboratory of Innovation on Multimedia Systems (LIMS) no Instituto Federal de Educação, Ciência e Tecnologia do Estado do Piauí (IFPI).
Arquivo de atualizações
 2011

Estatísticas do Autor:
Número de posts: 1
 
DevMedia Group - Tel: (21) 3382-5038 - www.devmedia.com.br
Todos os Direitos Reservados a DevMedia Group