A maior rede de estudos do Brasil

Grátis
15 pág.
ApostilaJavaME

Pré-visualização | Página 1 de 3

Desenvolvimento de Aplicativos Móveis com Bluetooth® 
Utilizando a Plataforma Java Micro Edition
Índice
1. Introdução
1.1. Desafios no Desenvolvimento de Aplicativos para Celular
1.2. O que é Java Micro Edition
2. Programando em JavaME
2.1. Fluxo de Telas
2.1.1.MIDlet Visual
2.1.2.Formulário
2.1.3.Lista
2.1.4.Canvas
2.2. Comandos
2.2.1. Adicionando Comandos
2.2.2. Personalizando o Comportamento de um Comando
3. Aplicações com Bluetooth®
3.1. Estabelecendo uma Conexão
3.1.1. Procurando por Dispositivos
3.1.2. Procurando por Serviços
3.1.3. Instanciando a Conexão
3.1.4. Envio e Recebimento de Dados
4. Instalando o Aplicativo.
1. Introdução
Nos dias de hoje, a demanda por inovações na área de aplicações para dispositivos móveis vem 
crescendo a cada dia, e isso se deve à grande quantidade de novidades que vêm sendo apresentadas aos 
consumidores nas lojas de artigos eletrônicos. Os celulares e smartphones fabricados na atualidade são 
caracterizados pela grande variedade de recursos de hardware que possuem, e isso aumenta as 
possibilidades de desenvolvimento de aplicativos para os mesmos.
Tendo como objetivo níveis ótimos de aproveitamento de tais funcionalidades encontradas nos 
gadgets eletrônicos do mundo moderno, diversas ferramentas têm sido criadas para que desenvolvedores 
interessados em inovar possam criar novas soluções em software para dispositivos móveis de maneira 
descomplicada.
Esta apostila terá como foco apresentar duas ferramentas recentes que têm sido muito úteis na 
modelagem de aplicativos móveis: a plataforma de desenvolvimento Java Micro Edition, e a tecnologia 
Bluetooth®.
1.1. Desafios no Desenvolvimento de Aplicativos para Celular
Um dispositivo móvel, como um celular ou smartphone, não possui as mesmas características de 
um computador convencional, necessitando assim um tipo de estrutura especial para seus aplicativos.
No projeto de um sistema embarcado, devem-se levar em consideração as particularidades na 
estrutura física do aparelho no qual ele será instalado. A arquitetura de um celular comum objetiva a 
portabilidade física do mesmo, o que impede que o mesmo se beneficie de recursos como:
- Cursor movido por periférico de rastreamento vetorial.
- Múltiplos processadores de alto desempenho
- Alta disponibilidade de memória volátil.
- Alta capacidade de armazenamento secundário de dados.
- Tela de exibição grande e de alta qualidade.
Tendo em vista tais privações de hardware, algumas soluções devem ser desenvolvidas pelo 
programador para que a execução do aplicativo seja eficiente, ágil e intuitiva para o usuário.
Ao invés de dirigir um cursor às opções da janela de exibição atual do programa, o usuário deve ser 
capaz de navegar entre as opções utilizando as setas, ou no caso dos smartphones, acessar as opções 
através de botões que respondam ao toque na tela.
Devido ao pequeno espaço de exibição fornecido pela tela dos celulares de tamanho convencional 
(entre 2.5 e 3 polegadas), a interface de exibição do software não consegue comportar muitos recursos 
visuais simultaneamente de maneira eficiente. Isso requer que o desenvolvedor seja minimalista na hora de 
criar sua interface, de modo que saiba associar elegância e funcionalidade sem que a tela de exibição do 
aplicativo seja poluída com informações, botões ou objetos visuais em excesso.
Finalmente, além das dificuldades no desenvolvimento da interface e controle de execução para 
seus sistemas, os dispositivos móveis, em geral, têm disponibilidade limitada de processamento e também 
de armazenamento, tanto primário quanto secundário. Isso gera mais uma barreira a ser transposta nos 
casos onde o aplicativo possui funcionalidades muito complexas ou de alto custo computacional, obrigando 
o programador a ser cauteloso quanto ao uso de estruturas de dados muito custosas ou algoritmos com alto 
custo de processamento (algoritmos de busca com possibilidade de explosão combinacional, procedimentos 
recursivos, etc).
1.2. O que é Java Micro Edition
O JavaME (Java Micro Edition) é um ambiente de programação para desenvolvimento de aplicativos 
móveis desenvolvido pela Oracle, e contém ferramentas simples e eficientes para a criação de soluções 
para celulares e outros dispositivos móveis. Ferramentas robustas, bibliotecas completas contendo métodos 
e classes para todos os fins, e a agregação de novos plug-ins e bibliotecas, são algumas razões pelas quais 
o ambiente têm se tornado bastante popular na área de desenvolvimento de sistemas embarcados.
A plataforma Netbeans comporta com eficiência o JavaME, e servirá como referência para as 
demonstrações contidas nesta apostila.
Os links para download gratuito das ferramentas mencionadas nessa seção podem ser encontradas 
nos links abaixo:
Netbeans IDE 7.0:
http://netbeans.org
Java Micro Edition SDK 3.0:
http://www.oracle.com/technetwork/java/javame/index.html
2. Programando em JavaME
Como visto anteriormente, programar em Java para dispositivos móveis se torna uma tarefa fácil 
quando se tem as ferramentas certas para alcançar os objetivos em um projeto. Um aplicativo para celular 
possui três elementos chave a serem avaliados na hora de ser projetado:
- Qual a sequência das telas a serem exibidas.
- Qual a forma das telas do aplicativo.
- De que maneira o usuário será capaz de navegar pelas funções do aplicativo.
As próximas duas subseções têm como objetivo apresentar como as duas entidades mais 
importantes na criação de um aplicativo são representadas no JavaME: a tela, responsável por apresentar 
todas as informações ao usuário, e o comando, encarregado de permitir ou não, que o usuário tome alguma 
atitude enquanto usa o aplicativo.
2.1. Fluxo de Telas
Para que as funcionalidades sejam apresentadas ao usuário, o JavaME traz consigo uma série de 
classes pré-modeladas primitivas, cada uma com sua finalidade e também suas limitações.
Com um pouco de criatividade é possível associar tais classes de modo a transpor tais limitações, 
permitindo que o aplicativo se torne elegante e funcional, sem que o desenvolvedor precise elaborar novas 
classes e métodos de exibição de tela complexos.
As classes aqui apresentadas são derivadas da classe Displayable, ou seja, toda instância das 
classes apresentadas nas próximas subseções pode ser exibida na tela através do método 
switchDisplayable, que é gerado automaticamente quando criado um novo MIDlet Visual.
2.1.1. MIDlet Visual
Como em todo sistema, os aplicativos embarcados também necessitam de uma classe principal, 
que determina quais e de que forma os procedimentos serão executados.
A classe Visual MIDlet faz a função de “painel de edição” em um aplicativo feito no ambiente 
JavaME, e é nela em que serão adicionados, sincronizados e editadas as telas, funções e comandos do 
aplicativo.
Como ilustrado na figura 1, o ambiente Netbeans possui quatro abas de edição para um Visual 
MIDlet:
1) Código-Fonte: Edição do aplicativo em nível de código.
2) Tela: Manipulação visual de alguma tela presente no aplicativo. Mostra uma prévia do resultado 
final da tela sendo editada.
3) Fluxo: Organização da forma em que serão exibidas as diferentes telas do aplicativo.
4) Analisador: Reporta inconsistências e avalia a funcionalidade da tela em edição.
Figura 1 – Abas de edição para Visual MIDlet no Netbeans.
A criação e edição de um aplicativo se torna muito simples dessa forma, pois a interface de edição é 
descomplicada e permite que o desenvolvedor organize sua aplicação de maneira personalizada.
2.1.2. Formulário
O formulário de texto, contido no pacote javax.microedition.lcdui e identificada como Form, 
é a classe de tela mais simples que pode ser encontrada no ambiente Java Micro Edition. Como a maioria 
das classes de exibição básicas