// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Criando, Depurando e Criando Perfil em uma Aplicação Incorporada Móvel
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Criando, Depurando e Criando Perfil em uma Aplicação Incorporada Móvel - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Criando, Depurando e Criando Perfil em uma Aplicação Incorporada Móvel

Sungmoon Cho, Alyona Stashkova

As aplicações incorporadas móveis são empregadas em dispositivos incorporados pequenos, como dispositivos de medição industrial, máquinas de vendas de produtos, sistemas de segurança, modems, eletrodomésticos e similares com a exibição simples ou nenhuma exibição e com conectividade de rede limitada. Este exemplo mostra como desenvolver um novo projeto Java ME incorporado no NetBeans IDE usando a plataforma Oracle Java Micro Edition Embedded que inclui suporte a link:http://jcp.org/en/jsr/detail?id=228[+JSR 228+], a API IM-NG (de perfil de módulo de informações de última geração). Ele explicará ainda como depurar e criar perfil no seu IMlet usando suporte a NetBeans para Oracle Java ME Embedded.



image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.3 e mais recente"]


*Para concluir este tutorial, são necessários os seguintes recursos e softwares:*

|===
|Software ou Recurso |Versão Necessária 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE com Java ME+] |Versão 7.3 e mais recente 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java Development Kit+] (JDK) |Versão 6, 7 ou 8 

|link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html[+Java ME SDK+] |Versão 3.2 e mais recente 
|===

*Importante:* Este tutorial só é executado em plataformas compatíveis com Win32.


== Instalando o Oracle Java ME Embedded

Para configurar o NetBeans IDE com o software Oracle Java ME Embedded para plataforma Windows, é necessário:

* Instalar o Oracle Java ME SDK
* Ativar a funcionalidade Java ME no NetBeans IDE
* Instalar a plataforma Oracle Java ME Embedded no NetBeans IDE

*Para instalar o Oracle Java ME SDK *

1. Vá para a página de link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html[+download do Java ME SDK+].
2. Clique na opção Aceitar Contrato de Licença.
3. Faça download de um arquivo do instalador do Oracle Java ME SDK (por exemplo, oracle-jmesdk-3-4-rr-win32-bin.exe) e salve-o em qualquer local em seu computador.
4. Clique duas vezes no arquivo instalador para executá-lo, e siga as instruções.
Quando a instalação for concluída, o ícone do Gerenciador de Dispositivo do Java (TM) ME Platform SDK ( image::images/icon.png[]) será exibido na bandeja de sistema do Windows.

*Para ativar a funcionalidade Java ME: *

1. Selecione Ferramentas > Plug-ins na barra de ferramentas principal do IDE.
2. Na caixa de diálogo Plug-ins, clique na guia Instalado e selecione Java ME na lista de funcionalidades disponíveis.

[.feature]
--
image::images/plugins-small.png[role="left", link="images/plugins.png"]
--


[start=3]
. Clique em Ativar.

[start=4]
. No painel de Boas-vindas da caixa de diálogo do Instalador, clique em Ativar.

[.feature]
--
image::images/installer-small.png[role="left", link="images/installer.png"]
--


[start=5]
. Quando a ativação foi concluída com êxito, clique em Finalizar.

[start=6]
. Clique em Fechar para fechar a caixa de diálogo Plug-ins.

*Para instalar a plataforma Oracle Java ME Embedded:*

1. Selecione Ferramentas > Plataformas Java.
A caixa de diálogo Gerenciador da Plataforma Java será exibida.

[.feature]
--
image::images/jpmanager-small.png[role="left", link="images/jpmanager.png"]
--


[start=2]
. Clique em Adicionar Plataforma.

[start=3]
. Em Selecionar Tipo de Plataforma do assistente Adicionar Plataforma Java, selecione Java ME CLDC Platform Emulator e clique em Próximo.
O IDE exibirá o diretório Escolher para a pesquisa de caixa de diálogo das plataformas.

[start=4]
. Selecione o diretório em que você instalou a Plataforma Java ME SDK (por exemplo,  ``C:\Java_ME_Platform_SDK_3.2`` ) e clique em Abrir.

[start=5]
. No painel Pastas da Plataforma do assistente Adicionar Plataforma Java, verifique se a plataforma selecionada na etapa anterior foi escolhida e clique em Próximo.

[start=6]
. Assim que o IDE detectar a plataforma, clique em Finalizar no painel Plataformas Detectadas do assistente Adicionar Plataforma Java.

[.feature]
--
image::images/jpdetected-small.png[role="left", link="images/jpdetected.png"]
--

O Oracle Java ME Platform agora está registrado no NetBeans IDE.

[.feature]
--
image::images/jpregistered-small.png[role="left", link="images/jpregistered.png"]
--


[start=7]
. Na caixa de diálogo Gerenciador de Plataformas Java, clique em Fechar.

Agora, seu NetBeans IDE está configurado para o desenvolvimento móvel.


== Criando um Projeto Incorporado

A criação de novos projetos é a primeira etapa para desenvolver uma nova aplicação Java ME Embedded com o NetBeans IDE.

1. Escolha Arquivo > Novo Projeto.
A caixa de diálogo Novo Projeto é exibida.

[start=2]
. Selecione a categoria de Java ME e o projeto da Aplicação Incorporada. Clique em Próximo.

[start=3]
. No painel Nome e Local do assistente Nova Aplicação Incorporada, especifique  ``EmbeddedApp``  como nome do projeto.

[.feature]
--
image::images/newappname-small.png[role="left", link="images/newappname.png"]
--


[start=4]
. Deixe a opção Criar Pacote Default e Classe de IMlet selecionada e clique em Próximo.

[start=5]
. Verifique se CLDC Oracle Java(TM) Platform Micro Edition SDK está selecionado na plataforma do emulador e se IMPNGPhone1 está selecionado como dispositivo.

[start=6]
. Clique em Finalizar.
Uma aplicação IMP-NG com um IMLet será criado em um projeto IDE padrão.

image::images/prjcreated.png[]

<<top,início>>


== Executando a Aplicação

Para verificar se a aplicação está sendo executada corretamente, modifique o código-fonte da aplicação, como a seguir:

1. Na janela Projetos, clique duas vezes no arquivo  ``IMlet.java``  e escolha Editar. 
O IDE abrirá o arquivo  ``IMlet.java``  no Editor de Código-fonte.

[start=2]
. Role a tela pelo código-fonte e localize o método  ``StartApp``  principal.

[start=3]
. Insira a seguinte linha em negrito no corpo do método  ``StartApp`` :

[source,java]
----

 public void startApp() {
      *System.out.println("Hello, world!");*
 }
----

[start=4]
. Escolha Arquivo > Salvar no menu principal do IDE para salvar as edições.

Agora que você criou a aplicação, pode executá-la no IDE conforme descrito a seguir:

1. Clique com o botão direito do mouse no nó do projeto  ``EmbeddedApp``  e escolha Limpar e Construir.
A janela de Saída exibirá a instrução BUILD SUCCESSFUL.

*Observação:* Escolha Janela > Saída > Saída no menu principal do IDE, caso a janela de Saída não esteja visível.


[start=2]
. Na barra de menu IDE, escolha Executar > Executar Projeto.
O emulador IMPNGPhone1 é iniciado e exibe a aplicação EmbeddedApp em execução.

[.feature]
--
image::images/emulator-small.png[role="left", link="images/emulator.png"]
--

*Observação:* Mais informações sobre o Java ME Embedded Emulator estão disponíveis no link:http://docs.oracle.com/javame/config/cldc/rel/3.2/get-started-win/title.htm[+Oracle Java ME Embedded Getting Started Guide for the Windows 32 Platform+].

Na janela de Saída, você deverá ver a saída do programa, `Hello, world!`

[.feature]
--
image::images/output-small.png[role="left", link="images/output.png"]
--


[start=3]
. No emulador, selecione  ``Aplicação Incorporada (em execução)``  e clique em Suspender, à direita.
A aplicação está pausada.

[start=4]
. Clique em Retomar.
A aplicação retoma a execução.

[start=5]
. Para interromper a aplicação e fechar o emulador, clique em Interromper e escolha Aplicação > Sair do menu do emulador.
O processo de execução é encerrado no IDE.

<<top,início>>


== Depurando a Aplicação

A depuração dos projetos incorporados é obtida da mesma forma que a de projetos Java em geral.

Clique com o botão direito do mouse no projeto, escolha Depurar para iniciar uma sessão de depuração. O emulador é aberto e a execução do programa é interrompida em qualquer ponto de interrupção definido.

<<top,início>>


== Criando Perfil da Aplicação

Use tarefas comuns de criação de perfil, como CPU padrão ou criação de perfil de memória, para criar uma aplicação incorporada móvel confiável.

Antes de criar perfil da aplicação, você deve instalar o plug-in das Ferramentas Java ME SDK, como a seguir:

1. No NetBeans IDE, escolha Ferramentas > Plug-ins.
2. No Gerenciador de Plug-ins, selecione a guia Plug-ins Disponíveis.
3. Na guia Plug-ins Disponíveis, role a tela para localizar o plug-in das Ferramentas Java ME SDK e selecione-o para instalação.

[.feature]
--
image::images/available-plugins-small.png[role="left", link="images/available-plugins.png"]
--


[start=4]
. Clique em Instalar.

[start=5]
. Pelo a página de Boas-vindas da caixa de diálogo do Instalador, clique em Próximo.

[start=6]
. Na página Contrato de Licença, leias os contratos associados ao plug-in. Se você concordar com os todos os termos da licença do contrato, clique na opção apropriada e, em seguida, clique em Instalar.

[start=7]
. Quando o processo de instalação for concluído, deixe a opção Reiniciar IDE agora selecionada e clique em Finalizar.

Quando o NetBeans IDE for selecionado, você poderá iniciar o uso do IDE para criar perfil na sua aplicação incorporada móvel.

1. Na guia Projetos do IDE, selecione o nome do projeto `EmbeddedApp`.
2. Escolha Perfil > Projeto de Perfil no menu principal para iniciar uma sessão de criação de perfil.

*Observação:* Você será solicitado a integrar o criador de perfil quando um projeto tiver o perfil criado pela primeira vez.

[.feature]
--
image::images/enable-small.png[role="left", link="images/enable.png"]
--


[start=3]
. (Aplicável se essa for a primeira vez que um perfil é criado no projeto) Na caixa de diálogo Ativar Criação de Perfil, clique em Sim para executar a integração.

[start=4]
. Na caixa de diálogo Perfil, escolha Criador de Perfil de CPU e, opcionalmente, marque Classes de Sistema do Perfil.

[start=5]
. Clique em Executar.
O emulador é aberto com a aplicação `EmbeddedApp` em execução.

[start=6]
. Interaja com a aplicação.

[start=7]
. Saia da aplicação ou feche o emulador. 
O IDE exibirá os dados de perfil na janela `cpu:_time_`.

[.feature]
--
image::images/cpu-small.png[role="left", link="images/cpu.png"]
--

*Observação:* Para salvar os dados coletados durante a sessão de emulação para futura referência, você pode:

* exportar os dados para um arquivo `nps` clicando no botão Exportar para (image::images/export.png[])
* salvar uma tela em um arquivo `png`, clicando no botão Salvar View Atual como Imagem (image::images/image.png[])
link:/about/contact_form.html?to=6&subject=Creating,%20Debugging,%20and%20Profiling%20an%20Embedded%20Application[+Enviar Feedback neste Tutorial+]


<<top,início>>


== Consulte Também

* link:imp-ng-screencast.html[+Demonstração: Suporte para Perfil IMP-NG no NetBeans IDE+]
* link:http://www.oracle.com/technetwork/java/javame/javamobile/training/jmesdk/index.html[+Java Mobile - Comece a Aprender+]
* link:http://www.oracle.com/technetwork/java/embedded/resources/me-embeddocs/index.html[+Documentação do Cliente do Oracle Java ME Embedded+]
* link:https://blogs.oracle.com/javamesdk/[+Blog da Equipe do Java ME SDK+]
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG1552[+Desenvolvendo Aplicações Java ME+] em _Desenvolvendo Aplicações com o NetBeans IDE_

<<top,início>>

