4
Capítulo 2: Java ME e BlackBerry Existe uma grande confusão ao fato do BlackBerry utilizar o Java ME ou não. Como sempre costumo dizer a quem me pergunta isso, a resposta é sim e não. Porque? É sim porque você pode utilizar o mesmo Java ME que utiliza para programar em Symbian para programar BlackBerry. Porém, com uma vantagem. Todos smartphones da canadense RIM, são baseados na especificação CLDC (Connected Limited Device Configuration ) 1.1, MIDP (Mobile Information Device Profile) 2.0 e Java Technology for the Wireless Industry (JTWI). Porém, os velhos problemas do Java ME, como é de se imaginar, também são importados junto com sua opção de portabilidade. Além disso, a implementação tradicional não lida muito bem com o tipo bem peculiar de entrada de dados dos aparelhos BlackBerry, como o trackwheel e trackBall. Bem, mas e porque falei antes que era sim e não. O não é pelo fato de que podemos utilizar a chamada BlackBerry API. Uma criação da RIM que deu uma turbinada no antigo Java ME. Vamos estudar um pouco a Figura 1 para estes conceitos ficarem bem enraizados.

BlackBerry e Java ME

Embed Size (px)

DESCRIPTION

Capítulo 2 do Curso de BlackBerry Development. Trata da questão da utiliza do Java ME no desenvolvimento BlackBerry

Citation preview

Page 1: BlackBerry e Java ME

Capítulo 2: Java ME e BlackBerry

Existe uma grande confusão ao fato do BlackBerry utilizar o Java ME ou não. Como sempre costumo dizer a quem me pergunta isso, a resposta é sim e não. Porque?

É sim porque você pode utilizar o mesmo Java ME que utiliza para programar em Symbian para programar BlackBerry. Porém, com uma vantagem. Todos smartphones da canadense RIM, são baseados na especificação CLDC (Connected Limited Device Configuration) 1.1, MIDP (Mobile Information Device Profile) 2.0 e Java Technology for the Wireless Industry (JTWI).

Porém, os velhos problemas do Java ME, como é de se imaginar, também são importados junto com sua opção de portabilidade. Além disso, a implementação tradicional não lida muito bem com o tipo bem peculiar de entrada de dados dos aparelhos BlackBerry, como o trackwheel e trackBall.

Bem, mas e porque falei antes que era sim e não. O não é pelo fato de que podemos utilizar a chamada BlackBerry API. Uma criação da RIM que deu uma turbinada no antigo Java ME.

Vamos estudar um pouco a Figura 1 para estes conceitos ficarem bem enraizados.

Figura 1: Arquitetura BlackBerry API.

No nível mais baixo sempre teremos uma máquina virtual Java, seja um aparelho BlackBerry, um LG, um Motorola, um Nokia, Samsung ou qualquer outro aparelho Java ME-enabled.

Page 2: BlackBerry e Java ME

A seguir temos uma divisão. Isso acontece porque, tratando-se de interface gráfica, ou o programador utiliza o Java ME padrão ou direciona seu código para a BlackBerry API.

Na última parte temos aplicativos Java ME e aplicativos BlackBerry API, justamente por causa da divisão comentada no parágrafo anterior.

Mas perceba, que as duas caixas no topo superior não seguem o mesmo padrão das demais. Isso acontece porque, mesmo se o programador usar apenas a BlackBerry API para construção de interface, na grande maioria dos casos irá usar alguns dos pacotes opcionais do Java ME tradicional, ou, caso contrário, estará usando a CLDC em background.

Logo, nunca teremos uma aplicação 100% BlackBerry API.Além da MIDP, CLDC e JTWI, a RIM criou mais alguns pacotes

que enriquecem a plataforma Java ME “by RIM”. Abaixo, são citados alguns deles.

net.rim.blackberry.api.browser: permite que os aplicativos invoquem o browser do aplicativo;

net.rim.blackberry.api.invoke: permite que um código Java invoque aplicativos nativos, como messages, memo e phone;

net.rim.blackberry.api.mail : funcionalidades de mensagens; net.rim.blackberry.api.menuitem: permite que o programador

insira itens de menu em alguns aplicativos nativos do smartphone; net.rim.blackberry.api.options: permite que um aplicativo insira

itens nas opções do próprio dispositivo. net.rim.blackberry.api.pdap: permite que as aplicações interajam

com aplicações PIM (Personal Information Management), como address book, tarefas e calendário. Semelhante ao javax.microedition.pim do Java ME tradicional.

net.rim.device.api.collection: classes e interfaces utilitárias para tratar com conjunto de dados;

net.rim.device.api.compress: classes utilitária para comprimir dados, nos formatos CZip e Zlib.

net.rim.device.api.i18n: suporte para internacionalização de aplicativos;

net.rim.device.api.io: biblioteca para gerenciar entrada e saída de dados;

net.rim.device.api.mime: trabalha com MIME-types. net.rim.device.api.notification: trata diretamente com

notificações, sejam elas do lado do aplicativo ou do sistema operacional;

net.rim.device.api.srvicebook: trabalha com os itens do Service Book.

Page 3: BlackBerry e Java ME

net.rim.device.api.system: suporte a funcionalidades a nível de sistema, como listeners para teclado e trackwheel por exemplo;

net.rim.device.api.ui: novos componentes para criação de interfaces gráficas mais avançadas que aquelas construídas com Java ME;

Sobre MimGraduado em Ciência da Computação, pós-graduando em Web e

analista de sistemas mobile na MobMidia | Grupo Pontomobi, Ricardo da Silva Ogliari é autor de dezenas de artigos que foram publicados em anais de congressos nacionais e internacionais, sites especializados e revistas. Palestrante em eventos nacionais e internacionais, como JustJava, Java Day, GeoLivre, ExpoGPS, FISL e FITE, sempre aborda temas relacionados a computação móvel.