// 
//     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.
//

= Создание, отладка и профилирование мобильных встроенных приложений
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Создание, отладка и профилирование мобильных встроенных приложений - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Создание, отладка и профилирование мобильных встроенных приложений

Сангмон Чо (Sungmoon Cho), Алена Сташкова (Alyona Stashkova)

Мобильные встроенные приложения работают в небольших встроенных устройствах, таких как промышленные измерительные приборы, торговые автоматы, системы безопасности, модемы, устройства бытовой электроники и аналогичные устройства с простым дисплеем или без дисплея и с некоторым ограниченным подключением к сети. В этом примере показано, как разработать новые встроенные проекты Java ME в IDE NetBeans с использованием встроенной платформы Oracle Java Micro Edition, которая включает в себя поддержку link:http://jcp.org/en/jsr/detail?id=228[+JSR 228+], API профиля информационного модуля нового поколения (IMP-NG). Также в этом примере описано, как выполнить отладку и профилирование собственного компонента IMlet с использованием поддержки Oracle Java ME Embedded в NetBeans.



image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.3 и более поздним версиям"]


*Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.*

|===
|Программное обеспечение или ресурс |Требуемая версия 

|link:https://netbeans.org/downloads/index.html[+IDE NetBeans с Java ME+] |Версия 7.3 и более поздние 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Комплект для разработки приложений на языке Java+] (JDK) |Версия 6, 7 или 8 

|link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html[+Java ME SDK+] |Версия 3.2 и более поздние 
|===

*Важно!*Это учебное руководство работает только на платформах, совместимых с Win32.


== Установка Oracle Java ME Embedded

Для настройки IDE NetBeans с Oracle Java ME Embedded для платформы Windows необходимо следующее:

* установить Oracle Java ME SDK
* активировать функцию ME Java в среде IDE NetBeans
* установить встроенную платформу Oracle Java ME в среде IDE NetBeans

*Для установки Oracle Java ME SDK:*

1. Перейдите к странице link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html[+загрузки Java ME SDK+].
2. Нажмите флажок 'Принять лицензионное соглашение'.
3. Загрузите файл установщика Oracle Java ME SDK (например, oracle-jmesdk-3-4-rr-win32-bin.exe) и сохраните его в любом каталоге на локальном компьютере.
4. Дважды щелкните файл программы установки, чтобы запустить программу установки и следуйте инструкциям.
По завершении установки в системном лотке Windows появляется значок диспетчера устройств Java (TM) ME Platform SDK (image::images/icon.png[]).

*Для активации функции Java ME:*

1. Выберите 'Сервис' > 'Подключаемые модули' на главной панели инструментов IDE.
2. В диалоговом окне 'Подключаемые модули' перейдите на вкладку 'Установлено' и выберите Java ME в списке доступных функций.

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


[start=3]
. Нажмите кнопку 'Активировать'.

[start=4]
. На панели приветствия в диалоговом окне программы установки нажмите кнопку 'Активировать'.

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


[start=5]
. После успешного завершения активации нажмите кнопку 'Готово'.

[start=6]
. Нажмите кнопку 'Закрыть', чтобы закрыть диалоговое окно 'Подключаемые модули'.

*Для установки встроенной платформы Oracle Java ME:*

1. Выберите 'Служба'> 'Платформы Java'.
Откроется диалоговое окно 'Диспетчер платформ Java'.

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


[start=2]
. Нажмите 'Добавить платформу'.

[start=3]
. В окне 'Выбор типа платформы' мастера платформ Java выберите эмулятор платформы Java ME CLDC и нажмите кнопку 'Далее'.
В IDE отображается каталог 'Выбор' для поиска диалогового окна платформ.

[start=4]
. Выберите каталог, в который выполнена установка платформы Java ME SDK (например,  ``C:\Java_ME_Platform_SDK_3.2`` ), и нажмите 'Открыть'.

[start=5]
. На панели 'Папки платформы' мастера добавления платформ Java убедитесь, что выделенная на предыдущем шаге платформа выбрана и щелкните 'Далее'.

[start=6]
. Как только IDE определит платформу, нажмите кнопку 'Готово' на панели 'Обнаруженные платформы' мастера добавления платформ Java.

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

Теперь платформа Oracle Java ME зарегистрирована в среде IDE NetBeans.

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


[start=7]
. В диалоговом окне диспетчера платформ Java нажмите кнопку 'Закрыть'.

Теперь среда IDE NetBeans настроена для мобильной разработки.


== Создание встроенного проекта

Создание нового проекта является первым шагом в разработке нового встроенного приложения Java ME с помощью IDE NetBeans.

1. Выберите команду "Файл" > "Новый проект".
Отображается диалоговое окно 'Новый проект'.

[start=2]
. Выберите категорию Java ME и проект 'Встроенное приложение'. Нажмите кнопку 'Далее'.

[start=3]
. На панели 'Имя и местоположение' мастера создания встроенных приложений укажите ``EmbeddedApp``  в качестве имени проекта.

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


[start=4]
. Не снимайте флажки 'Оставьте созданный пакет по умолчанию' и 'Параметр класса IMlet' и нажмите кнопку 'Далее'.

[start=5]
. Убедитесь, что в качестве платформы эмулятора выбран CLDC Oracle Java (TM) Platform Micro Edition SDK, а в качестве устройства - IMPNGPhone1.

[start=6]
. Нажмите кнопку 'Готово'.
Приложение IMP-NG с IMlet создается в стандартном проекте IDE.

image::images/prjcreated.png[]

<<top,В начало>>


== Выполнение приложения

Чтобы проверить, работает ли приложение должным образом, измените исходный код приложения следующим образом.

1. В окне 'Проекты' дважды щелкните файл  ``IMlet.java``  и выберите 'Правка'.
В IDE откроется файл  ``IMlet.java``  в редакторе исходного кода.

[start=2]
. Просмотрите исходный код и найти метод  ``StartApp`` .

[start=3]
. Вставьте следующую строку полужирным шрифтом в теле метода  ``StartApp`` :

[source,java]
----

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

[start=4]
. Выберите 'Файл' > 'Сохранить' в главном меню IDE, чтобы сохранить изменения.

Теперь, когда создано приложение, можно запустить приложение в IDE, как описано ниже:

1. Щелкните правой кнопкой мыши узел проекта  ``EmbeddedApp``  и выберите 'Очистить' и 'Построить'.
В окне 'Выходные данные' отображается оператор BUILD SUCCESSFUL.

*Примечание.* Выберите 'Окно'> 'Выходные данные' > 'Выход из главного меню IDE', если окно 'Выходные данные' не отображается.


[start=2]
. На панели меню IDE выберите 'Выполнить'> 'Выполнить проект'.
Эмулятор IMPNGPhone1 запускается, и на нем отображается запущенное приложение EmbeddedApp.

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

*Примечание.* Подробнее о встроенном эмуляторе Java ME см. в документе link:http://docs.oracle.com/javame/config/cldc/rel/3.2/get-started-win/title.htm[+Руководство по началу работы на платформе Windows 32 с Oracle Java ME Embedded+].

В окне 'Выходные данные' должны отобразиться выходные данные программы `Hello, world!`

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


[start=3]
. В эмуляторе выберите  ``Встроенные приложения (запущено)``  и выберите 'Приостановить' справа.
Приложение приостановлено.

[start=4]
. Нажмите кнопку 'Возобновить'.
Приложение возобновило работу.

[start=5]
. Чтобы остановить приложение и закрыть эмулятор, нажмите кнопку 'Стоп' и выберите 'Приложение' > 'Выход' в меню эмулятора.
Процесс выполнения завершается в IDE.

<<top,В начало>>


== Отладка приложения

Отладка встроенных проектов осуществляется аналогично отладке обычных проектов Java.

Щелкните правой кнопкой мыши в проекте и выберите 'Отладка', чтобы начать сеанс отладки. Эмулятор открывается, и выполнение программы останавливается на любой из заданных точек останова.

<<top,В начало>>


== Профилирование приложений

Используйте общие задачи профилирования, такие как стандартное профилирование ЦП или памяти, чтобы построить надежное мобильное встроенное приложение.

Перед началом профилирования приложения необходимо установить подключаемый модуль набора средств Java ME SDK следующим образом.

1. В IDE NetBeans выберите 'Сервис' > 'Подключаемые модули'.
2. В диспетчере подключаемых модулей выберите вкладку 'Доступные подключаемые модули'.
3. На вкладке 'Доступные подключаемые модули' используйте прокрутку, чтобы найти подключаемый модуль набора средств Java ME SDK и выбрать его для установки.

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


[start=4]
. Нажмите кнопку 'Установить'.

[start=5]
. На странице "Добро пожаловать" диалогового окна программы установки нажмите кнопку "Далее".

[start=6]
. На странице "Лицензионное соглашение" ознакомьтесь с лицензионным соглашением, связанным с подключаемым модулем. При принятии всех условий лицензионного соглашения щелкните соответствующий параметр и щелкните 'Установить'.

[start=7]
. Когда процесс установки завершится, не снимайте флажок 'Перезапустить IDE сейчас' и нажмите кнопку 'Готово'.

После перезапуска IDE NetBeans можно использовать функции IDE для профилирования встроенных мобильных приложений.

1. На вкладке 'Проекты' IDE выберите название проекта `EmbeddedApp`.
2. Выберите 'Профиль'> 'Профиль проекта' в главном меню, чтобы начать сеанс профилирования.

*Примечание.* Будет отображен запрос на интеграцию профилировщика, когда проект будет профилирован в первый раз.

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


[start=3]
. (Применимо, если это первое профилирование проекта) в диалоговом окне 'Включить профилирование' нажмите 'Да', чтобы выполнить интеграцию.

[start=4]
. В диалоговом окне 'Профиль', выберите профилировщик ЦП, и при необходимости проверьте системные классы профилей.

[start=5]
. Нажмите кнопку 'Выполнить'.
Эмулятор открывается с запущенным приложением `EmbeddedApp`.

[start=6]
. Взаимодействие с приложением.

[start=7]
. Выход из приложения или закрытие эмулятора. 
IDE отображает данные профиля в окне `ЦП:_время_`.

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

*Примечание.* Чтобы сохранить для дальнейшего использования данные, собранные в ходе сеанса эмуляции, вы можете:

* экспортировать данные в файл `nps`, нажав кнопку 'Экспорт в' (image::images/export.png[])
* сохранить снимок в файле `png`, нажав кнопку 'Сохранить текущий вид изображения' (image::images/image.png[])
link:/about/contact_form.html?to=6&subject=Creating,%20Debugging,%20and%20Profiling%20an%20Embedded%20Application[+Отправить отзыв по этому учебному курсу+]


<<top,В начало>>


== См. также

* link:imp-ng-screencast.html[+Демонстрационная версия: поддержка профиля IMP-NG в IDE NetBeans+]
* link:http://www.oracle.com/technetwork/java/javame/javamobile/training/jmesdk/index.html[+Java Mobile - начать обучение+]
* link:http://www.oracle.com/technetwork/java/embedded/resources/me-embeddocs/index.html[+Документация по клиенту Oracle Java ME Embedded+]
* link:https://blogs.oracle.com/javamesdk/[+Блог команды Java ME SDK+]
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG1552[+Разработка приложений Java ME+] в документе _Разработка приложений в IDE NetBeans_

<<top,В начало>>

