» » Пошаговое описание создания простого приложения для Samsung Bada. Пошаговое описание создания простого приложения для Samsung Bada Скачать программы для ос бада

Пошаговое описание создания простого приложения для Samsung Bada. Пошаговое описание создания простого приложения для Samsung Bada Скачать программы для ос бада
Здравствуйте. Хотелось бы прежде всего поздравить всех с наступившим Новым Годом и сразу перейти к делу. Эта статья будет посвящена вопросу создания простых программ для Bada - операционной системы для мобильных устройств, которые выпускает корейская Samsung. Заранее хочу сказать, что под катом простой рецепт изготовления простого приложения без пространных рассуждений о оптимальности и стройности кода.
На Хабре уже есть довольно обстоятельные статьи, которые посвящены Bada, например эта и эта , но вот пошагового описания создания приложения для новичков нет. Кому интересно - прошу под кат.


Тема для написания возникла случайно - знакомый активно занимается установлением границ земельных участков при помощи GPS в геодезической фирме; специфика работы (откуда взялась - хороший вопрос) состоит в том, что получаемые геодезические координаты (позволю себе пояснить, что имеется ввиду широта и долгота) надо переводить в прямоугольные прямо после их получения. На фирме ноутбуков, способных выдержать 8 часовой рабочий день нет и не планируется, зато знакомый недавно купил себе активно продвигаемый в Украине смартфон от Samsung с операционной системой Bada, далее последовал вопрос - если можно скачать игры для телефона, то нет ли приложения, способного решить описанную чисто инженерную задачу? Такого приложения, конечно, не нашлось, и я получил любезное предложение такое написать за известную плату.

Инструментарий
Для разработки приложений для Bada используется Bada SDK 1.2.0, скачать который можно, зарегистрировавшись на сайте для разработчиков Bada . В этом процессе нет ничего сложного, но вот на этапе выбора файлов для загрузки я, честно сказать, «протупил», скачав только SDK, а так называемый языковой пакет (language pack) нет, понадеявшись, что, как написано на сайте, его загрузка произойдет после установки SDK автоматически. Однако, на этапе установки что-то шло не так, установка продолжалась без загрузки языкового пакета, что в дальнейшем приводило к невозможности ни выполнить построение (build), ни, тем более, запустить приложение.
Загрузив SDK и языковой пакет, их следует положить в одном месте, и при установке SDK или при её модификации, установщик подхватит языковой пакет и выполнит инсталляцию его самостоятельно.
Собственно создание приложения

Среда разработки основана на Eclipse, используемый язык программирования С++. Начнем с того, что перейдем к созданию нового приложения очевидной командой File -> New -> bada Application Project. В появившемся окне следует определить название проекта в поле Project name, в списке Project Type выбрать тип приложения - bada Form Based Application.

Далее среда попросит определить технические параметры устройства, для которого будет предназначено приложение (разрешение экрана, наличие GPS и т.д.). Эти параметры определяются в специальном файле манифеста Manifest.xml, который можно выбрать среди файлов SDK, создать и загрузить с сайта Bada Developers или создать свой. Не мудрствуя лукаво, я использовал файл манифеста из папок с примерами Samples, которые устанавливаются вместе с SDK, поскольку мое приложение не требовало наличия «наворотов», а было важно только разрешение экрана.

Далее среда попросит указать корневую директорию SDK, с этим проблем возникнуть не должно. После выбора в списке появится название модели устройства и его API, которое будет использоваться в дальнейшем для программирования.

Следующий шаг - определение имени формы по умолчанию, которая появится сразу после запуска приложения. По этому имени будут сгенерированы *.h и *.cpp файлы.

Далее потребуется определить добавлять или нет поддержку авто-масштабирования и наилучшее разрешение экрана, если эта возможность будет добавлена. Я так понимаю, что это лучше сделать, поскольку приложение сможет работать на разных устройствах с разным разрешением и его не придется переделывать.

Следующее звено в длинной цепочке настроек - определение Application ID, для удостоверения функций приложения, если ему требуется выполнять чтение и запись в защищенные папки. Мне это не требовалось, поэтому я этот шаг опустил.

Почти конец - определение очевидных свойств приложения Name, Vendor и Description.

И вот уже почти почти конец - это определение необходимых конфигураций для разработки: рекомендую оставить все по умолчанию, а сейчас наиболее важной конфигурацией является Simulator-Debug - это возможность отладки кода на симуляторе устройства, Target-Release - конфигурация для компилирования приложения пред выгрузкой его на реальное устройство.

Последний шаг - сведенная по всем настройкам информация в окне Итогов (Summary), которую можно еще раз прочитать и убедиться, что все выбрано правильно.

После финала настроек будущее приложение появляется в Project Explorer, щелчок по которому приводит к раскрытию файлов ресурсов в окне Resources и появлению следующего окна:

После щелчка на форме (и вообще на любом элементе управления) на вкладке Properties можно изменить очевидные свойства приложения, такие как текст в заголовке, цвет фона, наличие и название софт-клавиш.

Я сразу перенес уже готовую кнопку, которую любезно сгенерировала среда, пониже и написал на ней Calculate. Располагая GUI Editor легко получить следующий интерфейс, который хорошо подходит для моей задачи (полагаю, что процесс переноса элементов управления на форму и установки их свойств никаких затруднений не вызывает); в качестве подписей к полям ввода использован очевидный Label, в качестве полей ввода - EditField; для показа результата вычислений также использованы Label, поскольку их редактирование не предусмотрено:

Теперь собственно кодирование.

Выполняющееся приложение проходит несколько этапов (Помощь очень подробная, там можно узнать детали), сейчас в первую очередь нас интересует этап иницализации приложения, за который отвечает метод OnInitializing(void) класса формы, который можно найти в файле <ВАША_ФОРМА>.cpp в папке src проекта.

По умолчанию этот метод выглядит следующим образом:

Result Form1::OnInitializing(void) { result r = E_SUCCESS; // TODO: Add your initialization code here // Get a button via resource ID __pButtonOk = static_cast