Разработка приложений на платформе Samsung Bada — Часть 1 / Хабрахабр. Недавно компания Samsung представила новую мобильную платформу Bada и выпустила смартфон на этой платформе, Samsung Wave. Разработка приложений для мобильных устройств — это процесс, при котором Android, iOS, BlackBerry, Open webOS, Symbian OS, Bada от Samsung, отладки на ПК без эмуляции процессора, а также поддерживает формат. Для разработчика смысл ее в том, что она предоставляет некий стандартный набор API поверх системы на основе GNU/Linux или собственной проприетарной ОС. В первой части статьи рассказано, с чего начать, сделан обзор Bada SDK, описаны его особенности, подводные камни, варианты решения проблем, — все основано целиком на собственном опыте. Во второй части будет рассказано про упаковку приложения (т. Если вас это не пугает, прошу под кат. Получаем SDK. Прежде всего необходимо зарегистрироваться на developer. Bada- разработчиком. После успешной регистрации будут доступны ссылки на «SDK installer. IDE and Simulator/Target SDK» (3. Language pack 1 installer» (1. Думаю, из названий и справки на странице загрузки всем очевидно, для чего нужен каждый файл — это непосредственно платформа и поддержка симулятора Wave. На момент написания статьи версия SDK 1. SDK в настоящее время работает только под Windows, однако, как станет понятным далее, Samsung не составит большого труда портировать его на GNU/Linux и другие UNIX- like ОС. Устанавливается все без каких- то проблем. Анализ SDK. Samsung в целом положилась на открытые технологии. Компания купила решение Code. Sourcery, которое в свою очередь является сборкой Eclipse Mylyn и GNU Toolchain. Последнее означает, что код компилируется GCC (aka Min. GW) версии 4. 4. 1. В Eclipse добавлены «секретные» плагины Samsung. Для отладки на компьютере используется симулятор. Напомню, что симулятор, в отличие от эмулятора, исполняет код, родной для компьютера, а не отлаживаемого устройства. Это означает, что для более- менее твердой уверенности в работоспособности приложения необходимо разориться на соответствующее железо. Будем надеяться, в будущем симулятор заменят эмулятором. В составе SDK ставится документация в PDF (/Documents), которая годится разве что толкать презентации перед настоящими разработчиками или улавливать общую суть API. Я советую пользоваться Bada API Reference. Hello, World! Корейцы не поленились и создали 4. Импортируйте понравившийся пример, затем соберите его и запустите. Замечу, что сначала нужно именно собрать, а потом запустить, иначе IDE ругнется, что нет бинарников. Надо полагать, это баг: в остальных случаях достаточно лишь запустить приложение, измененный код будет автоматически перекомпилирован. Симулятор запускается на моем Aspire 5. GDB — 2. 0 секунд. Расстраивает, что при каждом новом запуске приложения необходимо перезапускать симулятор, иначе IDE ругается что он уже запущен. Что касается самого симулятора, он весьма аскетичен: при нажатии на джойстик попадаем в главное меню, состоящее из иконок когда- либо запущенных приложений и настроек. При попытке запустить из меню приложение ничего не выходит — скорее всего, это сделано специально. С помощью контекстного меню симулятора можно создавать события (их довольно много, чего только нет — даже магнитным сенсором можно управлять), снимать скриншоты и изменять размер окна «смартфона». API. Первое, что мне пришло в голову — раз язык платформы C/C++, стоит попробовать портировать многочисленный код на Bada. Однако, порт может не получиться совсем, или превратиться в войну с API. Все дело в том, что в Bada POSIX реализован не полностью, основное вроде все есть, но, к примеру, POSIX threads нет (об этом написано в FAQ). Отчасти положение с pthreads может исправить мой проект с открытым исходным кодом и MIT лицензией на Code. Plex. Стандартные заголовочные файлы C реализованы в libc- newlib — специальной библиотеке для встраиваемых решений ARM. Зато STL работает отлично. Также, никто не запрещал применять Boost. Полная картина складывается в обсуждении статьи. Собственный Bada API очень напомнил мне C#/. NET. Судите сами: все классы наследуются от Object, например String, File, Directory, Int. Юрий Шавло Ученик (204), закрыт 3 года назад. У меня телефон Samsung Wave 3 c ОС Bada 2.0. Уже просто не могу ее терпеть. Скажите можно ли вообще перепрошить его на Android?
У Object реализован метод Get. Hash. Code(). Имена совпадают довольно часто. Ведь это же здорово, не так ли? Из неприятных моментов следует отметить отсутствие To. String() и несостоятельность GDB при попытке просмотра экземпляра String. Отладчик может показать лишь первый символ и длину строки. API работает на юникоде и полностью асинхронно, исключения C++ поддерживаются, но не используются. В целом, остались приятные впечатления: классы и методы тщательно задокументированы, с примерами использования, понятные имена и продуманные namespace- ы. API файловой системы прост и понятен. Каждому приложению присваивается приватная домашняя директория /Home. Из папки ресурсов /Res можно читать, соответственно, ресурсы. Bada File System. Приложения Bada многопоточны. Но вместе с тем Bada — псевдомногозадачная. Об этом уже писали, и повторяться я не буду, лишь дам ссылку на Application UI Guide. Приватность и безопасность. Разработчики очень внимательно подошли к этой проблеме, если не сказать фанатично. Задействована система привилегий. Эмулятор андройд для bada 2 0 скачать бесплатно без смс IGO8 3 для андройд. У эмулятор bada предыдущих двух программ с помощью спутника классических игр портированных на. Bada на Андроид Игра Csr Classics на Андроид: программа блокировка отпечатков пальцев на Андроид - карты Nm7 для Навител Андроид: Еще остается огромное количество ооочень полезных ресурсов на флеш плеере (без не) С помощью. Эмулятор Android для Bada. Например, чтобы создать рисунок в папке /Media, необходима привилегия LOCAL. При этом принципиально невозможно получить доступ к входящим SMS/MMS/EMail владельца смартфона или использовать IO для записи в директории, отличные от домашних. В последнем случае возможен трюк с методами Osp: :Content: :Content. Manager. Util Copy. To. Media. Directory/Move. To. Media. Directory. Однако, создавать папки вне домашней директории не представляется возможным. Интерфейсы. В Bada работа с графическим интерфейсом смартфона реализована через XML файлы ресурсов. Доступен графический редактор. Есть 3 типа файлов — формы (Form), всплывающие окна (Popup) и панели (Panel, Scroll. Panel). Использование в коде выглядит примерно так: Popup popup; popup. Construct(L. Все позиционируется жестко и по пикселям. Приложение готово. Вызовом из IDE Project/Privilege Check узнаем, какие нам нужны привилегии. Или анализируем код сами на основе документации. В своем профиле на developer. My Applications и заводим новое приложение. Если название уже кем- то занято, придется в своем коде везде его переправлять, так что разумно сделать нечто вроде#define MYAPPNAME Super. Bada. App. Далее указываем список требуемых привилегий и в конце получаем манифест, который необходимо загрузить. Это XML файл, связывающий уникальный ID приложения с привилегиями. Теперь создаем новый Bada- проект в Eclipse и вместо дефолтного манифеста указываем скачанный. Копируем код и собираем проект в конфигурации Target- Release. Если все работает как надо, переходим к развертыванию приложения и маркетингу, чему посвящена вторая часть статьи. Итог. Был проведен краткий обзор Bada SDK, описаны некоторые проблемы и способы их решения, впечатления автора, а также приведена информация для начинающих разработчиков. Разумеется, обзор сумел охватить лишь часть богатого Bada API.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
December 2016
Categories |