Google Translate

Russian English French German Italian Portuguese Spanish

Designed by:
SiteGround web hosting Joomla Templates

Как я начал программировать для Symbian

Установка среды разработки. Первая программа.

Вступление

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

Хочу сразу оговориться, что я не являюсь гуру в программировании для symbian. Я разобрался только в тех областях, какие мне были нужны для написания моих программ. Так что я не знаю как программировать акселерометр или рисовать графику на экране. Однако общие вопросы я изучил достаточно глубоко.

Поехали

В первой статье я расскажу как начать программировать на Symbian C++. В основном я сосредоточусь на описании тех средств разработки, которые нужны для того, чтобы начать писать программы. Так же я покажу, как написать и запустить на телефоне простейшую программу.

Во-первых, чтобы программировать на Symbian.C++ надо быть знакомым с обычным C++. В любом случае полезно иметь под рукой справочник по С++. Также необходимо владеть техническим английским языком, иначе большая часть знаний будет вам недоступна.

Во-вторых, Nokia сделала сайт для разработчиков: Forum Nokia. Там можно найти технические спецификации для нужной вам модели телефона и скачать все средства для разработки. Более того, на сайте есть своя википедия с обучающими статьями и примерами исходных кодов для решения тех или иных задач. Некоторые статьи переведены на русский язык. Так же на сайте есть англоязычный форум на котором на многие вопросы уже ответили, а если нет то вам обязательно ответят. Так было и со мной, хотя мне ответили отрицательно, когда я спросил как программно включить телефон.

В-третьих, каждому начинающему разработчику следует ознакомиться со статьей на русском языке: С чего начать программирование под Symbian ОС. В статье говориться какие средства разработки, а главное откуда, вам надо скачать. Хочу заострить внимание, что версию Perl надо скачивать именно 5.6.1, поскольку на более современных версиях могут не заработать прилагаемые в SDK скрипты. В частности я намучился с встраиванием помощи, поскольку при компиляции получал ошибку, что перловый скрипт не правильно написан.

Как говориться в этой статье, все программы, которые вы скачаете лучше ставить в те папки, которые предлагаются при установке. А при первом запуске Carbide, когда он спросит: "где создать workspace?", указать директорию на диске C. Например: C:\Symbian\Carbide

Что мы качаем

Perl 5.6.1

Для того чтобы получить *.sis файл из исходников, надо запустить несколько скриптов на перле, которые в нужном порядке обработают ваши исходники, скормят их компилятору GCC и упакуют все необходимые файлы в инсталляционный пакет *.sis.

Еще раз заострю внимание, что версию Perl надо скачивать именно 5.6.1, поскольку на более современных версиях могут не заработать прилагаемые в SDK скрипты

Symbian SDK

Symbian Software Development Kit. Установив себе этот набор для разработки вы, по большому счету, получите в директории C:\Symbian\9.2\S60_3rd_FP1:

  • директорию S60Doc - Справочную документацию по операционной системе. Хочу отметить, что документация, которая поставляется в SDK не может служить учебником. Тем не менее по Symbian есть несколько учебников, про которые упоминается на Forum Nokia Хотя они на английском их стоит почитать. Хотя признаюсь я сам не читал учебников, а обошелся только статьями в википедии. Обязательно надо изучить что такое дескрипторы и как пользоваться активными объектами, это есть в русскоязычной википедии на сайте.
  • директории S60Ex и Examples - Куча примеров программ. Это благодатнейшее место где искать примеры исходников и смотреть как правильно работать с различными классами.
  • директорию Epoc32 - Компилятор и вспомогательные библиотеки.
  • директорию nokia_plugin - дополнительные библиотеки. По-правде эта директория появится только после того как вы установите плагины для SDK.
  • директорию S60Tools - Я туда не лазил, но наверное что-то полезное.
  • В принципе SDK и Perl достаточно, чтобы начать писать программы. Однако ничто так не сокращает время разработки как хорошая среда разработки.

    Carbide C++

    Хорошая среда разработки. Хороша тем, что берет на себя всю рутину по ведению проекта. Разработчик может сосредоточиться исключительно на написании кода, а всякие настройки компилятора и подписание берет на себя карбид.

    Сертификат разработчика.

    Чтобы устанавливать программы в телефон необходимо иметь сертификат разработчика, чтобы подписывать sis файлы, или ваш телефон должен быть разлочен. Получение сертификата ТУТ, про полный доступ ТУТ. Хочу заметить, что если вы получаете сертификат, то помимо файла с сертификатом (*.cer), вам надо еще получить файл с ключом (*.key), а к файлу с ключом еще нужен и пароль.

    В принципе есть эмулятор, который позволяет запускать программы на компьютере, если отлаживать программы под ним, то сертификат не нужен. Но эмулятор так медленно работает и имеет так много ограничений, что я его не использую и всегда отлаживаю прямо на телефоне, получается ближе к телу и быстрее.

    Устанавливаем

    Устанавливайте все что скачали, при этом порядок установки не важен. При установке устанавливайте в директории по умолчанию обязательно на диске С.

    Последний шаг к первой программе

    Теперь запускайте карбид, его иконка устанавливается в стандартный список программ. Когда карбид спросит про Workspace укажите ему "C:\Symbian\Carbide".

    Теперь создадим проект для первой программы: File -> New -> Symbian OS C++ Project. На вопрос "Select a type of project", отвечайте: "3rd-Future. GUI Application", или даже "3rd-Future. GUI Application with ui designer". Дизайнер позволяет легко делать пользовательский интерфейс, но стоит денег.

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

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

    А теперь, как говорится в одном анекдоте: "Мы попытаемся взлететь со всем этим барахлом на борту". Проект надо собрать, чтобы получить *.sis файл: Project -> Build project. Если "Build project" не доступно, сначала ткнитесь на папочку с корнем проекта. Хочу заметить, что проект может и не собраться. Некоторые заготовки для проектов в карбиде содержат ошибки. В таком случае создайте новый проект другого типа. У меня проект типа "3rd-Future. GUI Application with ui designer" собирается сразу.

    Искомый *.sis файл, после сборки проекта, находится в папке sis проекта. Щелкнув на нем правой кнопочкой и вызвав свойства, вы можете узнать путь до файла в файловой системе. Файл не подписан. Его надо подписать и можно ставить в телефон. Вообще-то карбид может сам подписывать при сборке, но сейчас я не хочу на этом останавливаться.

    Теперь вы можете установить в телефон вашу первую программу.

    На перепутье.

    А теперь неприятный сюрприз. Эта статья является тропинкой, по которой я подвел вас к горе "программирование на Symbian C++". Дальше надо карабкаться вверх. И тут есть несколько маршрутов. Рекомендую вам воспользоваться хорошо оборудованными туристическими маршрутами в виде различных учебников на английском языке (может есть и на русском, но я не встречал) о программировании на Symbian C++. Хочу заметить, что я, как крутой альпинюга программюга, самонадеянно ломанулся покорять эту гору самым коротким путем к своей первой программе, перепрыгивая с одной статьи википедии на другую и карабкаясь через глыбы исходного кода доступного на сайте Forum Nokia. Конечно как опытный программист я своего добился, однако глядя с этой высоты на то, какая удобная туристическая тропинка проложена к моему месту я пожалел о зря потраченном времени.

    Если вы не воспользуетесь туристическим маршрутом, то вам придется самостоятельно одолевать такие перевалы как:

    • Общая информация о Symbian.
    • Дескрипторы.
    • Активные объекты.
    • Контекстная помощь.
    • Локализация программ.
    • Настройка карбида.
    • Всякие мелочи.

    В принципе, взятие этих перевалов описано в статьях на википедии, и если вам захочется срезать туристическую тропу, то вы можете смело воспользоваться этими статьями.