Главная Каталог программ FAQ Ссылки

Программирование для Symbian

Для начала нужно установить необходимый инструментарий. В не зависимости от того в какой среде Вы собираетесь писать программу нужно установить соответствующий Symbian SDK. Для S60 можно посмотреть например на http://www.forum.nokia.com/main/resources/tools_and_sdks/listings/index.html. В принципе всю работу с Symbian для Nokia следует начинать c http://forum.nokia.com. C SDK поставляется симулятор, компьютерная программа на которой можно посмотреть работу Вашей программы, на компьютере не устанавливая ее в телефон он выглядит так. Также понадобится среда разработки, хотя можно и работать с командной строки, но если вы хотите работать с симулятором любом случае нужен компилятор C++ для windows, который не входит в SDK. Наиболее популярной средой разработки на сегодняшний день является Carbide. Она существует как в виде самостоятельной среды Carbide.c++, так и надстройки над MS Visual Sudio Carbide.vs. Наиболее простой вариант Express Edition распространяется бесплатно, среды можно найти на http://www.forum.nokia.com/main/resources/tools_and_sdks/listings/index.html. В качестве альтернатив используют Code Warrior или Borland C++ mobile Edition.

 

Очень неплохая подборка статей находится на http://www.mobilab.ru/articles/index2.php?cat=1.
Много полезного на http://wiki.forum.nokia.com/index.php/Category:Lang-RU.
Интересная статья http://www.xakep.ru/magazine/xs/071/074/4.asp.
Статья по написанию собственного плеера http://newlc.com/Playing-a-WAV-file.html

 

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

 

Если нужно получить путь к диску на который пользователь установил программу.


TFileName YourClass::AppFullName()
{
return AppUi()->Application()->AppFullName();
}


TFileName YourClass::ApplicationDrive()
{
TParse parse;
//On WINS the application is on the z drive
#ifdef __WINS__
TFileName appfullname = AppFullName();
parse.Set(_L("z:"), &appfullname, NULL);
#else
parse.Set(AppFullName(), NULL, NULL);
#endif
return parse.Drive();
}

 

Q stdio, stdlib.h "cannot be opened"- выползает такая ошибка, делает невозможным портирование на Symbian.

A Просто путь "${EPOCROOT}epoc32\include\libc" зачастую отсутствует в путях по умолчанию, как бороться с этим в старом Carbide C++ написано здесь. Но в моей (версия 1.2) я таких пунктов меню не нашел. Можно открыть mmp файл проекта текстовым редактором и в строку SYSTEMINCLUDE добавить \epoc32\include\libc.

 

Q undefined reference to `strlen' или на другие стандартные функции, но под симулятор все строилось нормально, что не так?

A В список библиотек, не добавлен estlib.lib. Можно в ручную поправить mmp файл добавив LIBRARY estlib.lib.

Q stdlib после использования функций из этой библиотеки программа некорректно завершается в симуляторе

A Проблема в том, что не освобождаются буферы стандартных библиотек, перед закрытием приложения нужно вызвать CloseSTDLIB().

 

Q Как работать со строками в Symbian, где в документации можно найти руководство.

A В Symbian SDK Help существует соответственный раздел. См:

Symbian OS Guide
     Base
         Using User Library (E32)
             Buffers and Strings

http://forum.nokia.com - наиболее полное собрание ресурсов по кодингу под symban
http://newlc.com - отличный ресурс с массой нетривиального материала
http://club60.org - ресурс, посвященный series60, на русском языке. Рекомендуется заглянуть на ветку форума «программирование» - иногда там встречаются дельные посты.
http://forum.allnokia.ru/viewforum.php?f=23- так же неплохой форум, по разработки под Symbian
http://www.rsdn.ru/article/pda/symbian.xml - Статья на RSDN - Программирование под Symbian OS: начало

Главная Каталог программ FAQ Ссылки