FeaturesPluginsDocs & SupportCommunityPartners

Guia de Início Rápido do desenvolvimento do NetBeans 6.0 CLDC/MIDP

Este documento o orienta através dos fundamentos do uso do NetBeans IDE 6.0 a fim de criar uma aplicação da plataforma Java™, Micro Edition (plataforma Java™ ME), Mobile Information Device Profile (MIDP). Este documento destina-se a ajudá-lo a começar o mais rapidamente possível.

O tutorial a seguir o orienta através de algumas etapas básicas do trabalho com o novo sistema de projeto. São mostradas duas maneiras de criar um projeto Java ME MIDP chamado "MyHello" que exibe o texto "Make my day" em um emulador de dispositivo. Também são analisados outros recursos do Mobility para desenvolvimento de CLDC/MIDP.

Conteúdo

O conteúdo desta página se aplica ao IDE NetBeans 6.0

Requisitos

Você deve ter o NetBeans IDE 6.0 Mobility ou Full Edition (download) instalado antes de iniciar o desenvolvimento do Java ME MIDP/CLDC. As seções Cliente/Servidor requerem a Full Edition para dar suporte a Serviços Web. Se você instalou somente a Mobility Edition, será necessário baixar os seguintes plug-ins da Central de atualizações (Ferramentas > Plug-ins):

  • Aplicações Web
  • Serviços Web
  • Sun Java System Application Server

Criando uma aplicação MIDP usando o Visual Mobile Designer

O NetBeans IDE fornece um assistente que permite que você crie rapidamente um projeto MIDP. Ao criar o projeto, você pode optar por desenvolver a aplicação no Visual Mobile Designer (VMD) ou no editor de código-fonte.

O uso do Visual Mobile Designer permite que você faça o planejamento gráfico do fluxo da aplicação e crie as telas da aplicação. O projetista cria automaticamente o código da aplicação.

Criando uma aplicação MIDP/CLDC

  1. Escolha Arquivo > Novo projeto (Ctrl-Shift-N). Em Categorias, selecione Mobility. Em Projetos, selecione Aplicação MIDP e clique em Próximo.
  2. Indique MyHello no campo Nome do projeto. Altere o Local do projeto para qualquer diretório no sistema. Neste tutorial, esse diretório é definido como $PROJECTHOME.
  3. Marque as caixas de verificação Definir como projeto principal e Criar Hello MIDlet (ambas estão marcadas por padrão). Clique em Próximo.
  4. Selecione o Sun Java Wireless Toolkit 2.52 para CLDC como a plataforma de emulador e use os padrões restantes. Clique em Próximo.
  5. Expanda as pastas "Modelos de configuração fornecidos por plataformas CLDC instaladas" e "Sun Java Wireless Toolkit 2.52 para CLDC". Marque as caixas ao lado de cada uma das configurações. O IDE cria automaticamente uma nova configuração de projeto para cada modelo listado.

    Caixa de diálogo Novo projeto mostrando seleção de configuração

  6. Clique em Terminar. O IDE cria a pasta do projeto $PROJECTHOME/MyHello. A pasta do projeto contém todos os códigos-fonte e os metadados do projeto, como o script Ant do projeto. A própria aplicação é exibida na janela Design de fluxo do Visual Mobile Designer.
  7. Visualização de fluxo de Hello Midlet no IDE

Editando o código-fonte Java

Agora, vamos editar o texto exibido pelo MIDlet.

  1. Clique em Tela. Isto abre a janela Editor de tela e exibe a tela Dispositivo, que é a única tela disponível na aplicação.
  2. Na janela Propriedades, clique no campo Texto e digite algum texto novo. Neste exemplo, digitamos "Make my day".
  3. O texto 'Make my day' é digitado no campo de texto da janela Propriedades.

  4. A visualização Tela exibe o texto inserido no campo Texto.
  5. O texto 'Make my day' está visível na visualização Tela do dispositivo na visualização Tela do VMD.

Compilando e executando o projeto

  1. Selecione Executar > Executar projeto principal (F6) no menu Executar. Siga o progresso da compilação do projeto na Janela de saída. Observe que o arquivo HelloMIDlet.java é construído antes de ser executado. Um emulador de dispositivo é aberto para exibir os resultados do MIDlet executado. O emulador de dispositivo padrão é DefaultColorPhone.
  2. Na janela do emulador do dispositivo, clique no botão abaixo do comando Iniciar. O emulador de dispositivo inicia o MIDlet e exibe o texto inserido no código-fonte.

    Mensagem Make my day exibida no emulador WTK

  3. Clique no botão abaixo de Sair para fechar o MIDlet. Em seguida, clique no botão no canto superior direito do dispositivo para fechar a janela do emulador.

Criando uma aplicação MIDP usando o editor de código-fonte

Usando o Editor de código-fonte, crie manualmente o código para os MIDlets. Ao criar o código no Editor de código-fonte, você tem mais flexibilidade ao editar o código e pode inserir blocos do código do pré-processador.

Agora, criaremos a mesma aplicação usando os assistentes para Novo projeto e Novo arquivo e completaremos o código usando o Editor de código-fonte.

Criando um novo projeto Java ME MIDP

  1. Escolha Arquivo > Novo projeto (Ctrl-Shift-N). Em Categorias, selecione Mobility. Em Projetos, selecione Aplicação MIDP e clique em Próximo.
  2. Digite MyHelloMIDlet no campo Nome do projeto (observe que "MID" é em maiúsculas). Altere o Local do projeto para qualquer diretório no sistema. Fazemos referência a este diretório como $PROJECTHOME neste tutorial.
  3. Marque a caixa de verificação Definir como projeto principal e desmarque a caixa Criar Hello MIDlet. Clique em Próximo.
  4. Deixe o J2ME Wireless Toolkit como a Plataforma de destino selecionada.
  5. Expanda as pastas "Modelos de configuração fornecidos por plataformas CLDC instaladas" e "J2ME Wireless Toolkit 2.2". Marque as caixas ao lado de cada uma das configurações. O IDE cria automaticamente uma nova configuração de projeto para cada modelo listado.
  6. Clique em Terminar. O IDE cria a pasta do projeto $PROJECTHOME/MyHelloMIDlet. A pasta do projeto contém todos os códigos-fonte e os metadados do projeto, como o script Ant do projeto.
  7. Clique com o botão direito do mouse no nó MyHelloMIDlet na janela do Explorer e escolha Novo > MIDlet.
  8. Indique HelloMIDlet como o nome do MIDlet (observe que "MID" está em maiúsculas). Clique em Terminar. O arquivo HelloMIDlet.java é criado.
  9. Clique duas vezes no arquivo HelloMIDlet.java para exibir o código-fonte no Editor.
  10. Clique no Editor de código-fonte e altere
    public class HelloMIDlet extends MIDlet
    para
    public class HelloMIDlet
                  extends MIDlet implements javax.microedition.lcdui.CommandListener
                  {
  11. Adicione o seguinte texto antes do método startApp():
    public HelloMIDlet() {
    }private void initialize() {  javax.microedition.lcdui.Display.getDisplay(this).setCurrent(get_helloTextBox());}
    public void commandAction(javax.microedition.lcdui.Command command, javax.microedition.lcdui.Displayable
      displayable) {   if (displayable == helloTextBox) {      if (command == exitCommand) {         javax.microedition.lcdui.Display.getDisplay(this).setCurrent(null);         destroyApp(true);         notifyDestroyed();      }   }
    }
    private javax.microedition.lcdui.TextBox get_helloTextBox() {   if (helloTextBox == null) {       helloTextBox = new javax.microedition.lcdui.TextBox(null, "Test String",120, 0x0);       helloTextBox.addCommand(get_exitCommand());       helloTextBox.setCommandListener(this);   }   return helloTextBox;}
    private javax.microedition.lcdui.Command get_exitCommand() {   if (exitCommand == null) {       exitCommand = new javax.microedition.lcdui.Command("Exit", javax.microedition.lcdui.Command.EXIT,
      1);   }   return exitCommand;}
    javax.microedition.lcdui.TextBox helloTextBox;javax.microedition.lcdui.Command exitCommand;
  12. Adicione uma linha initialize(); ao método startApp() para que tenha a seguinte aparência:
      public void startApp() {
       initialize();
        }

Editando o código-fonte Java

Agora, vamos adicionar texto ao MIDlet para exibição.

  1. No método get_helloTextBox(), substitua o código "test string" pelo texto que desejar. Por exemplo, "Make my day".

Compilando e executando o projeto

  1. Selecione Executar > Executar projeto principal (F6) no menu Executar. Siga o progresso da compilação do projeto na Janela de saída. Observe que o arquivo HelloMIDlet.java é construído antes de ser executado. Um emulador de dispositivo é aberto para exibir os resultados do MIDlet executado. O emulador de dispositivo padrão é DefaultColorPhone.
  2. Na janela do emulador do dispositivo, clique no botão abaixo do comando Iniciar. O emulador de dispositivo inicia o MIDlet e exibe o texto inserido no código-fonte.
  3. Clique no botão abaixo de Sair para fechar o MIDlet. Em seguida, clique no botão no canto superior direito do dispositivo para fechar a janela do emulador.

Alterando a plataforma do emulador

As plataformas de emulador são fornecidas por fabricantes de telefones móveis para que desenvolvedores possam simular o comportamento de dispositivos móveis específicos ao codificar, depurar e testar aplicações. O NetBeans Mobility Pack inclui o J2ME Wireless Toolkit e oferece suporte a muitos outros SDKs (software development kits) que podem ser baixados de sites de provedores como Nokia, Sony Ericsson ou Motorola.

Alterando o dispositivo emulador padrão

  1. Clique com o botão direito do mouse no nó do projeto MyHello e escolha Propriedades. Na caixa de diálogo Propriedades, escolha o nó Plataforma. Aqui, você pode alterar o dispositivo da configuração padrão.
  2. Clique na lista suspensa Dispositivo e escolha QwertyDevice. Clique em OK.
  3. Execute a aplicação novamente e ela será executada no emulador QwertyDevice.

Alterando a configuração do projeto

Você criou várias configurações de projeto usando os modelos no assistente para Novo projeto. Você pode usar o menu suspenso Configuração na barra de ferramentas principal para alterar rapidamente as configurações do projeto.

Adicionando uma nova plataforma de emulador

  1. Escolha Ferramentas > Plataformas Java na barra de ferramentas principal.
  2. Na caixa de diálogo Gerenciador de plataformas Java, clique no botão Adicionar plataforma.
  3. Na página Selecionar tipo de plataforma, escolha Emulador da plataforma Java ME MIDP Edition. Clique em Próximo. Na página Plataformas, o IDE procura todas as plataformas Java ME disponíveis e as lista na janela. As plataformas compatíveis com o padrão Unified Emulator Interface (UEI) são verificadas e aparecem com uma marca na caixa de verificação ao lado do nome da plataforma. As plataformas que não são compatíveis com UEI, ou que não podem ser instaladas por outros motivos, são listadas em vermelho. O assistente também identifica que plataformas já foram instaladas. OBSERVAÇÃO: Para instalar as plataformas que não são compatíveis com a UEI, clique no botão Voltar e escolha Emulador personalizado da plataforma Java Micro Edition.
  4. Na página Plataformas, coloque uma marca ao lado de todos os emuladores de plataforma que desejar instalar. Depois que as plataformas forem detectadas, elas são instaladas. Clique em Terminar. Em seguida, clique em Fechar.
  5. Escolha Arquivo > Propriedades de "MyHello".
  6. Escolha o nó Plataforma e escolha o nome do novo emulador (por exemplo, J2ME Wireless Toolkit 2.2) do menu suspenso Plataforma do emulador. Clique em OK.

Usando configurações

Você pode usar as configurações para criar mais de um conjunto de arquivos de distribuição JAR e Java Application Descriptor (JAD) para seu projeto. Isso permite que você crie um conjunto de códigos-fonte e personalize-o para cada dispositivo móvel para o qual está programando.

Adicionando uma configuração

  1. Clique com o botão direito do mouse no nó do projeto MyHello e escolha Propriedades. Na caixa de diálogo Propriedades, escolha Adicionar configuração na lista suspensa Configuração do projeto. Isso abre a caixa de diálogo Adicionar configuração.
  2. Indique um nome para a configuração no campo Nome da configuração. O nome deve identificar a plataforma de destino na qual você implantará o JAR/JAD criado para esta configuração. Para este exemplo, indique BlackWhiteDisplay e clique em OK. Você acabou de criar uma nova configuração.
  3. Você também pode adicionar as configurações, clicando no botão Gerenciar configurações na caixa de diálogo Propriedades. Isso abre a caixa de diálogo Gerenciador de configuração de projeto que contém opções para adicionar, remover ou duplicar configurações.

Personalizando uma configuração

Você pode adicionar quantas configurações quiser ao seu projeto. Em seguida, você pode modificar as configurações na caixa de diálogo Propriedades do projeto de cada configuração adicionada.

  1. Clique com o botão direito do mouse no nó do projeto MyHello e escolha Propriedades. Na caixa de diálogo Propriedades, escolha o nó Plataforma.
  2. Escolha a configuração BlackWhiteDisplay na caixa de combinação da configuração na parte superior da caixa de diálogo Propriedades.
  3. Todos os componentes da caixa de diálogo Plataforma são desativados. Isso acontece porque essa configuração está no momento usando os valores usados por padrão para este painel. Desmarque Usar valores na opção "DefaultConfiguration" na parte superior do painel. Todos os componentes desse painel agora podem ser editados.
  4. Altere a opção Dispositivo para DefaultGrayPhone.
  5. Alterne para a caixa de diálogo Configuração do projeto na parte superior da caixa de diálogo e observe se a opção Dispositivo se altera com base em qual configuração está selecionada no momento. Esse método de personalização de configuração funciona para cada painel (menos o painel geral) na caixa de diálogo. Clique em OK para salvar suas alterações de configuração e saia da caixa de diálogo Propriedades.

Criando uma habilidade

Uma habilidade é um atributo específico de uma configuração de projeto. Ela pode ser um atributo físico tal como o tamanho da tela, ou uma API ou JSR suportado pela configuração. Você pode criar uma nova habilidade e associá-la a uma ou mais configurações do projeto. Em seguida, você pode usar blocos de código do pré-processador para associar determinado código a essa habilidade. Se você depois precisar adicionar ou remover configurações, não precisará percorrer todo o código e associar a configuração a cada bloco de código. Em vez disso, você precisa somente adicionar essa habildiade à configuração. A configuração é então associada, automaticamente, a qualquer bloco de código associado à habilidade.

  1. Clique com o botão direito do mouse no nó do projeto MyHello e escolha Propriedades.
  2. Escolha a página Habilidades da árvore de menu Categoria.
  3. Escolha uma configuração do menu suspenso Configuração de projeto. Isto associa a habilidade a esta configuração.
  4. Se necessário, desmarque a caixa de verificação Usar valores de "DefaultConfiguration".
  5. Clique no botão Adicionar. Isso abre a caixa de diálogo Adicionar habilidade.
  6. Na caixa de diálogo Nova habilidade, indique um nome para a habilidade, ou escolha uma habilidade no menu suspenso. Opcionalmente, indique um valor para a habilidade. Clique em Ok para fechar a caixa de diálogo Novo habilidade. A habilidade agora está associada com a configuração de projeto selecionada.

Você pode associar a habilidade a outras configurações, escolhendo uma configuração diferente no menu Configuração do projeto e clicando no botão Adicionar.

Adicionando código do pré-processador específico da configuração.

Os blocos do pré-processador permitem que você crie, gerencie e controle o código específico de uma ou mais configurações ou habilidades do projeto. O código é ativado (ou desativado) somente para as configurações ou habilidades que você identificar.

  1. Na janela Editor do HelloMIDlet.java, clique com o botão direito do mouse na linha do código-fonte onde há a instância de TextBox ( helloTextBox = new javax.microedition.lcdui.TextBox(null, "Make my day",120, 0x0);).
  2. Clique com o botão direito do mouse na linha e escolha Blocos do pré-processador > Criar bloco If/Else. Na primeira seção, rosa, anexe a palavra "Color" à frase "Hello World". Na segunda seção, cinza, adicione "Gray" à frase "Make my day".
  3. O código marcado pela diretiva de pré-processador //#if tem efeito sempre que a configuração ativa corresponde ao valor da diretiva (neste caso, DefaultConfiguration). O código delimitado pela diretiva de pré-processador //#else é usado sempre que a configuração ativa não corresponde ao valor do pré-processador. Em outras palavras, o emulador exibe "Make my day Color" sempre que a plataforma ativa for "DefaultConfiguration" e exibe "Hello World Gray" se a plataforma ativa for qualquer outra plataforma de emulador. A diretiva de pré-processador //#endif completa o bloco do pré-processador.
  4. Você pode testar o código do pré-processador executando o MIDlet usando diferentes dispositivos de emulador, conforme descrito em Alterando a plataforma de emulador.

Executando configurações

As configurações podem ser construídas e executadas individualmente ou simultaneamente.

  1. Clique com o botão direito do mouse no nó Projeto MyHelloMIDlet e escolha Executar.
  2. Use a caixa de combinação da configuração na Barra de ferramentas para alterar a configuração para BlackWhiteDisplay. Escolha Executar novamente.
  3. Dois emuladores aparecem, um colorido e um cinza. O emulador cinza exibe "Make my day Gray" e o emulador colorido exibe "Make my day Color".
  • Para construir várias configurações simultaneamente, clique com o botão direito do mouse em um projeto e escolha Construção em lote. Na caixa de diálogo que se abre, marque a caixa ao lado de cada configuração que você deseja construir.
  • Para testar um dispositivo rapidamente, clique com o botão direito do mouse no projeto e escolha Executar com. Na caixa de diálogo que se abre, escolha a plataforma do emulador e o dispositivo que você deseja executar.

Conectando aplicações móveis a Serviços Web

O IDE permite que você crie MIDlets clientes que podem se conectar aos serviços Web seja através de uma arquitetura direta de "duas camadas" ou de uma arquitetura de "três camadas" que se conecte aos serviços Web através de uma aplicação Web middleware.

O IDE fornece dois assistentes para criar as classes de conexão:

  • Use o assistente para Cliente de serviço Web Java ME se desejar usar a especificação de Serviços Web JSR-172 para criar uma conexão de "duas camadas" com os Serviços Web. Este assistente cria arquivos stub (proxy no cliente) e, opcionalmente, um MIDlet cliente de amostra que chama um serviço Web. Você deve ter uma plataforma de emulador ou dispositivo que ofereça suporte à especificação JSR-172 para usar este assistente.
  • Use o Gerador de cliente móvel para aplicação Web para criar uma conexão de "três camadas" com os Serviços Web se os seus dispositivos não oferecerem suporte à especificação dos Serviços Web JSR-172. O assistente gera um servlet que conecta a uma aplicação Web que inclui um cliente de serviço Web. Antes de usar o Gerador de cliente móvel para aplicação Web, você deve ter um projeto Web que inclua um cliente de serviço Web.

Criando um cliente de serviços Web Java ME (JSR-172)

  1. No assistente para Novo arquivo, escolha MIDP em Categorias. Em Tipos de arquivo, escolha Cliente de serviço Web Java ME. Clique em Próximo.
  2. Identifique o local do arquivo WSDL do Serviço Web que será adicionado ao projeto.
    • Se o serviço WSDL estiver na Web:
      1. Escolha Serviço Web em execução e insira a URL do arquivo WSDL e indique um nome de arquivo local para o WSDL recuperado.
      2. Se você estiver protegido por firewall, clique em Configurações do proxy para designar o host e a porta HTTP apropriados.
      3. Clique em Recuperar WDSL para obter uma cópia local do arquivo WDSL. O IDE baixa o arquivo WDSL.
      Se você tiver um arquivo WSDL no seu ambiente:
      1. Selecione o arquivo WSDL do sistema e indique um nome de arquivo.
      2. O IDE recupera o arquivo WSDL e o resto dos campos na página são preenchidos com nomes padrão derivados do nome do arquivo WSDL.
  3. Pressione Terminar. O IDE cria um arquivo de configurações aberto e gera os stubs clientes. Na janela principal, você pode ver uma lista dos serviços exportados, de informações do cliente e das opções do cliente que podem ser escolhidas.
  • Em algumas poucas situações, pode ser necessário converter tipos CLDC 1.1 em CLDC 1.0, o que significa que os tipos Float e Double são convertidos em variáveis de String. Para fazer a conversão, marque a caixa de verificação “Converter ponto flutuante em string” no arquivo de configurações e clique no botão Gerar stubs.
  • Se você estiver protegido por firewall, não há configuração pública disponível para o proxy HTTPS no NetBeans. Você pode alterar as configurações de proxy do NetBeans escolhendo Ferramentas > Opções do menu principal. Entretanto, estas configurações não são propagadas aos emuladores. Você pode definir o proxy para o Wireless Toolkit escolhendo Ferramentas > Plataformas Java. Em Plataformas, escolha Wireless Toolkit e selecione a aba Ferramentas e extensões. Clique no botão Abrir preferências e selecione a aba Configuração de rede. A alteração do proxy em outros emuladores é similar, mas pode variar de fornecedor para fornecedor.
  • Os arquivos gerados não devem ser editados. As alterações feitas nos arquivos são perdidas quando eles são gerados novamente.

Criando um jogo usando o Game Designer

O Visual Mobile Designer agora oferece suporte à API de jogos MIDP 2.0. No VMD, você pode organizar as camadas lado a lado em cenas e preencher o jogo com sprites animados.

Antes de começar, salve todas as imagens que deseja usar como cenas e sprites no diretório src do seu projeto. Em seguida, continue assim:

  1. Crie um novo projeto MIDP com a opção "Criar Hello MIDlet" desmarcada. Em seguida, clique com o botão direito do mouse no projeto e escolha Novo > Arquivo. Em Categorias, selecione MIDP. Em Tipos de arquivo, escolha Visual Game Design. Clique em Próximo.
  2. Nomeie a nova classe e clique em Terminar.
  3. A tela do componente de desenho do Game Builder é aberta.
  4. Clique em Criar cena. Uma "Cena" é um nível de jogo. Na janela do Game Designer, uma cena vazia é aberta.
  5. Para criar uma camada lado a lado (ambiente de cenário), clique no botão Criar camada lado a lado no canto superior direito da janela. Observe que você pode usar imagens de exemplo empacotadas com o IDE. Para obter as imagens de exemplo, clique no botão Importar imagens de exemplo.
  6. Na caixa de diálogo que for exibida, insira um nome para a camada lado a lado e ajuste seu tamanho para que corresponda ao dispositivo para o qual está sendo programada. Depois clique em OK. Depois de criar uma nova camada lado a lado, arraste e solte-a na grade para criar um nível para o jogo.
  7. Você pode criar sprites para o jogo escolhendo Sprites do menu suspenso e arrastando uma imagem da janela de imagens na parte inferior do IDE. Você pode usar o Game Builder para animar os sprites e camadas lado a lado. O Game Builder trata os sprites como seqüências animadas e você pode editar e animar vários sprites ao mesmo tempo.

Consulte também

Para obter mais informações sobre o uso do NetBeans Mobility Pack, consulte a seguinte página:

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Open ESB - The Open Enterprise Service Bus Powered by