Java ME na Prática

Propaganda
Robison Cris Brito
Java ME na Prática
Fundamentos da plataforma passo a passo
Java ME na Prática – Fundamentos da plataforma passo a passo
Copyright¤ Editora Ciência Moderna Ltda., 2014
Todos os direitos para a língua portuguesa reservados pela EDITORA CIÊNCIA
MODERNA LTDA.
De acordo com a Lei 9.610, de 19/2/1998, nenhuma parte deste livro poderá ser
reproduzida, transmitida e gravada, por qualquer meio eletrônico, mecânico, por
fotocópia e outros, sem a prévia autorização, por escrito, da Editora.
Editor: Paulo André P. Marques
Produção Editorial: Aline Vieira Marques
Assistente Editorial: Dilene Sandes Pessanha
Capa: Carlos Arthur Candal
Diagramação: Carlos Arthur Candal
Várias Marcas Registradas aparecem no decorrer deste livro. Mais do que
simplesmente listar esses nomes e informar quem possui seus direitos de
exploração, ou ainda imprimir os logotipos das mesmas, o editor declara estar
utilizando tais nomes apenas para fins editoriais, em benefício exclusivo do dono da
Marca Registrada, sem intenção de infringir as regras de sua utilização. Qualquer
semelhança em nomes próprios e acontecimentos será mera coincidência.
FICHA CATALOGRÀFICA
BRITO, Robison Cris.
Java ME na Prática – Fundamentos da plataforma passo a passo
Rio de Janeiro: Editora Ciência Moderna Ltda., 2014.
1. Linguagem de Programação – 2. Informática
I — Título
ISBN: 978-85-399-0547-8
Editora Ciência Moderna Ltda.
R. Alice Figueiredo, 46 – Riachuelo
Rio de Janeiro, RJ – Brasil CEP: 20.950-150
Tel: (21) 2201-6662/ Fax: (21) 2201-6896
E-MAIL: [email protected]
WWW.LCM.COM.BR
CDD 005.133
004
05/14
Dedicatória
Dedico este livro à minha família, que sempre esteve ao meu lado. Aos
meus pais, que não mediram esforços para investir na minha educação, mesmo nos momentos mais difíceis. À minha irmã, que sempre me apoiou. Aos
amigos de trabalho, professores e técnicos administrativos da Universidade
Tecnológica Federal do Paraná, que me incentivaram a estudar novas tecnologias. Aos meus queridos e estimados alunos, sem eles, meu trabalho não faz
sentido.
Em especial, dedico este livro à minha querida e amada esposa Jaqueliny,
horas de trabalho, viagens, palestras, estudos. Espero um dia retribuir tudo
que ela fez por mim. Amor, te amo. E claro, dedico este livro à minha pequena
papai te ama.
Agradecimentos
Quero agradecer a um conjunto de pessoas que me apoiou e incentivou,
fazendo com que este livro virasse realidade.
!"#$
fessor e mestre, que me ensinou os primeiros códigos na plataforma Java,
assim com o primeiro HelloWorld na linguagem Java ME.
Um “muito obrigado” ao meu amigo Ricardo Ogliari, com o qual escrevo
artigos sobre dispositivos móveis para a revista Mobile Magazine, do grupo
Devmedia, grupo este que sempre me incentivou a escrever novos artigos e
publicar videoaulas.
Em especial, muito obrigado à Universidade Tecnológica Federal do Paraná Campus Pato Branco, onde leciono e tenho o prazer de conviver com pessoas maravilhosas, que me inspiraram a ser cada vez melhor. Muito obrigado, professores
e professoras.
Sobre o autor
%&#'(
))'
trial pela Universidade Tecnológica Federal do Paraná, onde ministra aulas
sobre tecnologia Java e Computação Móvel nos cursos de tecnologia em
Análise e Desenvolvimento de Sistemas e Engenharia da Computação. Escreve artigos para as revistas Java Magazine e Mobile Magazine, para as quais
elabora videoaulas sobre programação para dispositivos . Foi palestrante de
*+(/00$123(43536
JustJava. Evangelista da tecnologia, procura apresenta palestras e minicursos
em universidades e eventos.
Prefácio
O desenvolvimento de aplicativos para dispositivos móveis, além de fascinante, é uma excelente oportunidade de negócio. Hoje, muitas empresas de
desenvolvimento de software possuem setores especializados nessa platafor
789
:;
<5
valores e facilitando o compartilhamento de informações.
Ao longo de vários anos, Java ME foi e continua sendo sinônimo de desenvolvimento para dispositivos móveis, tais como aparelhos celulares, set-top
box de tv digital, plataformas de sistemas embarcados, presentes inclusive em
alguns “brinquedos” hi-tech. No desenvolvimento para aparelhos celulares,
fornece inúmeros recursos, permitindo que tirássemos “leite de pedra” ao trabalhar com uma grande quantidade de recursos em aparelhos tão limitados.
Hoje existem várias ferramentas para o desenvolvimento de aplicativos em
*()
0)=
qual possui um ambiente robusto e integrado para o desenvolvimento de apli78
;77>0)"
%
(6?50)
Netbeans , que permite o desenvolvimento de aplicativos para celular através
'
@;
telas, wizards para comunicação e desenvolvimento de jogos, entre muitos outros recursos, que torna rápido e prazeroso o desenvolvimento de programas
para celulares.
Neste contexto, o presente livro apresenta os conceitos básicos da programação para celular usando a já consolidada plataforma Java ME, apresentan7
0)=
utilização de componentes visuais da plataforma, os modelos para tratamento
de eventos, utilização das principais classes do Java ME, a persistência de
dados e algumas das principais técnicas de conectividade. Todos os conceitos
são apresentados e aplicados a estudos de casos práticos.
Na sequência, após a apresentação dos fundamentos da plataforma Java
()';
(6?5
de software para celular muito mais simples e inteligente, desde o desenvol
'
7
a conectividade.
X — Java ME na Prática - Fundamentos da plataforma passo a passo
Este livro é uma ferramenta útil aos desenvolvedores, acadêmicos, professores, a comunidade tecnológica em geral, a quem deseja explorar novos
5<"
Uma boa leitura a todos.
Sumário
Capítulo 1 - Iniciando o desenvolvimento de aplicativos para a
plataforma Java ME ...........................................................................1
Sobre a Tecnologia Java .................................................................... 2
Capítulo 2 - Características Importantes da Plataforma Java ME 5
7&78? ........................................................ 6
$&78K&RQ¿JXUDWLRQ.................................................... 6
&0& ......................................................................................... 6
CDC ............................................................................................ 7
?K3UR¿OH) .................................................................................... 7
(0? .......................................................................................... 8
KVM........................................................................................... 8
?+K2SWLRQDO3DFNDJHV) ........................................... 9
Concluindo... .......................................................................................... 10
Capítulo 3 - Preparando um ambiente de desenvolvimento Java
ME multiplataforma ......................................................................... 11
)0) .................................................................................... 14
*() ....... 14
+'
(0 ................................................................................ 21
&`
(0............................................................ 21
(02................................................................................... 22
Concluindo... ................... ...................................................................... 23
Capítulo 4 - Componentes Visuais da Plataforma Java ME .........25
TextBox.................................................................................................. 27
......................................................................................................... 29
Alert ....................................................................................................... 34
Form....................................................................................................... 38
........................................................................................................ 41
2
........................................................................................ 41
Classe TextField .............................................................................. 43
DateField ......................................................................................... 47
........................................................................................ 50
ChoiceGroup.................................................................................... 54
}~*()?1
— Java ME na Prática - Fundamentos da plataforma passo a passo
Gauge ............................................................................................... 57
$'
.......................................... 59
45 ..................................................................................................... 65
Command............................................................................................... 68
Concluindo... .......................................................................................... 73
Capítulo 5 - Trabalhando com Eventos na Plataforma Java ME.75
Recuperando Eventos Gerados por Commands .................................... 76
%)€
.............................................. 81
4)?
&4
4
45 ................. 85
Classe Timer .................................................................................... 85
&4
45............................................................................. 86
Utilizando Agendamento com Repetição .............................................. 87
Utilizando Agendamento sem Repetição ............................................... 91
Concluindo… ......................................................................................... 96
Capítulo 6 - Alternando entre diferentes telas e um aplicativo Java ME ..97
Alternando entre telas com uma única Classe ....................................... 98
Alternando entre Telas com Várias Classes ......................................... 103
Concluindo... .........................................................................................111
Java ME ........................................................................................... 113
Documentação do Java ME ................................................................. 113
java.util.Date.................................................................................. 114
java.util.Calendar ........................................................................... 115
java.util.Random............................................................................ 119
java.util.Vector ............................................................................... 121
Java.lang.Math ............................................................................... 124
java.lang.String .............................................................................. 126
java.lang.StringBuffer ................................................................... 129
Concluindo… ....................................................................................... 132
Capítulo 8 - Aumentando a produtividade no desenvolvimento Java
ME com Mobility Pack do Netbeans .............................................133
&
(0` ....................................................... 134
Trabalhando com um projeto Java ME visual no Netbeans ................ 136
Modo de visualização de Fluxo ..................................................... 137
Modo de visualização de Tela........................................................ 138
2
~}
Modo de visualização - Códigos Fontes ........................................ 139
Modo de visualização - Analyzer .................................................. 141
Desenvolvendo um primeiro aplicativo de forma visual ............ 141
Concluindo... ........................................................................................ 152
Capítulo 9 - Componentes Visuais e Técnicas de Depuração no
Mobility Pack ..................................................................................153
Paleta de componentes visuais do Netbeans ........................................ 154
Categoria Displayable ................................................................... 155
Categoria Commands .................................................................... 157
&
.............................................................................. 158
Categoria Elements ........................................................................ 159
Categoria Flow .............................................................................. 160
Categoria Resource ........................................................................ 162
Categoria DataBinding .................................................................. 163
Categoria SVG Components ......................................................... 163
Mudando as propriedades de um componente Visual ............ 164
Depurando um aplicativo ..................................................................... 166
#5? ........................................................................ 167
` .............................................................................. 169
Watches .......................................................................................... 170
(9: .......................................... 171
Concluindo... ........................................................................................ 173
Capítulo 10 - Persistência de dados em aplicações Java ME ......175
Criando um RecordStore ..................................................................... 177
Manipulando registros em um RecordStore ........................................ 179
% ........................................................................ 179
Alterando Registros ....................................................................... 181
Excluindo Registros....................................................................... 183
Recuperando Registros .................................................................. 184
Percorrendo todos os registros de um RecordStore ....................... 186
Enumeração de Registros .............................................................. 188
@; ; registros .................................................................................. 191
);
`%2 .. 195
Filtrando Registros ........................................................................ 208
Ordenando Registros ..................................................................... 212
}`~*()?1
— Java ME na Prática - Fundamentos da plataforma passo a passo
Capítulo 11 - Conectividade em aplicações Java ME ..................219
Panorama das conexões em Java ME .................................................. 220
Arquitetura de uma aplicação com conectividade ............................... 221
Utilizando o protocolo HTTP .............................................................. 222
Utilizando o protocolo HTTPS ............................................................ 225
Utilizando datagramas no celular ........................................................ 226
5 ................................................................ 229
25 ....................................... 230
5 ......................................................... 231
Enviando mensagens SMS ........................................................... 232
Enviando mensagens MMS .......................................................... 235
Comparando as tecnologias de comunicação ...................................... 236
Concluindo... ........................................................................................ 238
Capítulo 12 - Utilizando recursos de conectividade do Netbeans......239
Utilizando a comunicação HTTP – Desenvolvimento de um servlet .. 241
Utilizando a comunicação HTTP – Desenvolvimento do aplicativo Java
ME ....................................................................................................... 247
Conectividade utilizando WebService ................................................. 255
Concluindo........................................................................................... 264
Capítulo 13 - Recursos de Proxy no Acesso ao WebService utilizando
Mobility Pack do Netbeans ............................................................265
Conectividade utilizando WebService ................................................. 267
Desenvolvendo um aplicativo Java ME para acesso ao WebService .. 269
Conectando o aplicativo JavaME ao WebService GlobalWeather 271
@;
78.............. 276
Utilizando proxys para comunicação com WebService....................... 278
Desenvolvendo o servidor de proxy .................................................... 280
Desenvolvendo um aplicativo Java ME para acessar o Proxy ...... 281
Concluindo........................................................................................... 287
Capítulo 1
Iniciando o desenvolvimento
de aplicativos para a
plataforma Java ME
Veja as principais características da programação
para dispositivos móveis e conheça um pouco mais
sobre a tecnologia Java
A busca pela comunicação ágil e rápida sempre existiu em todas as sociedades. Os romanos construíram uma rede de mais de 80.000 quilômetros para
manter da maneira mais ágil possível as comunicações dentro do império. Na
'
;
/‚‚5
'
;
chegar a Roma.
Mas, desde que Marconi enviou a primeira mensagem de rádio, isto em
1895, nunca mais a comunicação precisou de um meio físico e de um mensageiro para transportá-la. A comunicação pelo rádio revolucionou a sociedade,
pois podemos agora enviar mensagens sem sair do lugar. E, com o advento da
>
7"0
Martin Cooper, inventor do celular, o número de transmissões de dados ou voz
que conseguimos enviar pelo ar, em todo o mundo, dobra a cada 30 meses.
A telefonia móvel tornou-se popular com a introdução dos telefones celulares. Essa invenção despertou muito interesse e viu-se em poucos anos uma
verdadeira explosão mundial no seu uso, transformando a sociedade e causando o grande momento da telefonia celular.
O nome celular é decorrente do fato da rede de comunicações ser composta
de uma rede de células, com transceptores de rádio, chamados de estação-base, no centro de cada célula. A célula é a área de cobertura de uma única
2 — Java ME na Prática - Fundamentos da plataforma passo a passo
estação-base. Conforme um telefone móvel se desloca em uma rede, ele tem
acesso aos serviços por intermédio da estação-base da célula em que se encontra naquele momento. A célula pode ter diversas formas, de acordo com a
"=
mais adotada é a hexagonal.
'
plo. O comércio eletrônico tradicional já sinaliza claramente que a vantagem
da conveniência é bem-aceita. Pode-se fazer compras pela Web sem precisar
enfrentar trânsito ou perder tempo em deslocamentos. Se essa conveniência
puder ser disponibilizada sem a necessidade de nos dirigirmos a um ponto
; : equipamento móvel como um celular, com certeza teremos um maior conforto
no uso dos serviços.
Outra vantagem no desenvolvimento de soluções utilizando dispositivos
móveis está na sua disseminação. Hoje há mais usuários de celulares e equipamentos móveis do que usuários de PCs. A disseminação de celulares tende
ser muito maior devido à real necessidade que as pessoas têm de poder ser
contatadas em qualquer lugar.
Aliado a essa demanda, vê-se a evolução tecnológica dos aparelhos. As
tecnologias de comunicação estão cada vez mais potentes em termos de capacidade de transmissão, permitindo tráfego de imagens e vídeos de alta re7"%
€?278`+?
de voz estão se tornando onipresentes nos aparelhos celulares. Tem-se ainda
tecnologias de desenvolvimento de aplicativos, como a tecnologia Java, que
permite fazer uso de vários recursos existentes no aparelhos celulares, além
de permitir a comunicação do aparelho com outros computadores ou disposi
31
e Bluetooth.
Sobre a Tecnologia Java
Segundo a Sun Microsystem, empresa que desenvolveu a linguagem Java,
essa é uma linguagem de programação independente de plataforma. Original
'
década de 90, possibilitando a interatividade em páginas web que até então
"$
†*
uma grande revolução, que foi a possibilidade do desenvolvimento de aplicativos pessoais para dispositivos móveis.
&9‡7~/
Com isso, Java tornou-se uma excelente plataforma para o desenvolvimento de aplicativos para celulares. Dentre as vantagens, destaca-se a segurança,
já que o código Java executa sempre dentro dos limites da Máquina Virtual
Java existentes no dispositivo, o que torna o ambiente seguro para executar
programas de origem desconhecida.
Outras vantagens são os tratamentos de exceções e o garbage collector,
que facilitam a programação no que se refere ao aplicativo se recuperar automaticamente de erros e a exclusão de objetos que não são mais referenciados
na memória.
A portabilidade é outra vantagem. Um programa desenvolvido sem utilizar
9 9 ; aparelhos que possuam uma Máquina Virtual Java.
Para garantir a portabilidade, a plataforma Java é dividida em 3 grandes
grupos, conforme Figura 1.
Figura 1. Grupos da plataforma Java.
+
Java Micro Edition: Versão do Java destinada a pequenos dispositivos ou dispositivos limitados, como telefones celulares, smartphones, TV Digital, entre outros.
Java Stardard Edition: Esta versão do Java se destina ao desenvol
5"
Java Enterprise Edition: Versão destinada ao desenvolvimento de
softwares para grandes servidores, como, por exemplo, aplicações
web e webservices.
4 — Java ME na Prática - Fundamentos da plataforma passo a passo
Este livro apresentará com detalhes a programação Java para dispositivos móveis, mostrando recursos básicos como a preparação do ambiente de
desenvolvimento, o desenvolvimento de um primeiro aplicativo, componentes visuais, modos de interação, ferramentas para produtividade, persistência
de dados, conectividade usando a rede da operadora e Bluetooth, utilização
€?2 7 9 34 desenvolvimento visual, desenvolvimento de jogos, pagamento utilizando
celular, desenvolvimento colaborativo para aplicativos móveis, utilização de
código de barras e desenvolvimento de aplicativos Java ME para a plataforma
#5#6'
")
sários para um programador leigo se tornar um expert na programação Java
ME.
Download