![]() |
||||
Introdução ao desenvolvimento móvel com Java ME |
|
![]() | ||
Por Francisco Demontiê dos Santos Junior(demontie@dsc.ufcg.edu.br) |
||||
Cada vez mais, várias plataformas para desenvolvimento móvel vêm surgindo, tais como: Android, Windows Mobile, Symbian, BlackBerry e iPhone OS. Java ME surgiu para que um aplicativo, uma vez escrito, possa rodar em qualquer dispositivo. |
||||
O Java ME é um componente da plataforma Java para dispositivos móveis, ou seja, é um subconjunto da linguagem Java, mas possui vários recursos próprios para o desenvolvimento móvel. Nesta matéria, serão introduzidos alguns conceitos, e mostrados exemplos de aplicativos Java ME. Para esse fim, será considerado que já se tem um ambiente para desenvolvimento Java ME configurado. Um aplicativo que roda na plataforma Java ME é chamado de MIDlet. Para começar a entender alguns conceitos dessa plataforma, vamos ver um pequeno exemplo “Hello World”.
Note que a classe do exemplo, HelloWorld, herda da classe MIDlet. Essa classe contém os métodos e atributos necessários para uma aplicação Java ME. Geralmente, apenas a classe principal do aplicativo herda de MIDlet. Caso tentemos usar outra MIDlet dentro da classe principal, Java ME lançará uma exceção. Entendamos, agora, o código: na linha 9, criamos um TextBox que será usado para exibir o texto “Hello World!”; para que este seja mostrado na tela da aplicação, usamos o trecho de código Display.getDisplay(this).setCurrent(tbox). Quando criamos uma aplicação, devemos implementar os métodos startApp, pauseApp, e destroyApp. O primeiro, startApp, deve conter o código necessário para iniciar a aplicação; pauseApp é usado para aplicações que possam ser pausadas (pode-se, por exemplo, salvar o contexto da aplicação); destroyApp é chamado quando a aplicação é encerrada. Agora que já temos uma noção de como devemos implementar uma aplicação Java ME, vamos incrementar um pouco nosso exemplo inicial. Para possuir interação com o usuário, nossa classe irá implementar a interface CommandListener que possui um único método (que deve ser implementado), commandAction. Esse método define as ações que serão realizadas para cada comando. Os comandos são objetos do tipo Command. O código abaixo é uma modificação do exemplo anterior para introdução de comandos. Introduzimos o comando sair.
Note que usamos o construtor Command que recebe três parâmetros. O primeiro parâmetro, do tipo String, indica o nome do comando que será exibido na aplicação. O segundo parâmetro, do tipo inteiro, indica o tipo de comando que será criado. As seguintes constantes são definidas: Command.BACK, Command.CANCEL, Command.EXIT, Command.HELP, Command.ITEM, Command.OK, Command.SCREEN e Command.STOP. O terceiro parâmetro indica a prioridade do comando. Note, também, que, para encerrar a aplicação (no método commandAction), foi invocado o método notifyDestroyed, além de destroyApp, para notificar o término da aplicação e para que a KVM (K Virtual Machine – uma JVM para dispositivos móveis) possa encerrá-la. Veja agora esse exemplo. Ao rodar esse aplicativo, deverá ser exibido na tela algo semelhante à Figura 1. ![]()
Figura 1 – Exemplo de tela para o exemplo “ExemploCadastro”.
Como forma de exercício, tente entender e modificar esse exemplo. |