Russian Qt Forum

Qt => Qt Embedded => Тема начата: km13 от Июль 22, 2010, 12:33



Название: Структура папок на Symbian. Куда что?
Отправлено: km13 от Июль 22, 2010, 12:33
Добрый день.
Пишу программу на Nokia (Symbian OS v9.1 - v.9.5).
Кратко:
Программа использует SQLite, подключается к ftp, тянет оттуда файл (формат не важен), парсит его, заполняет базу данных. Ну иногда создает опять же файл и кладет его на ftp.
Отладил на эмуляторе, пришла очередь тестировать на устройстве.
Вот тут и возникает вопрос. Как правильно развернуть это все на телефоне.
Sis-файл программы инсталлируется без проблем.
Вопросы:
1. Куда положить базу данных, и как то прописать к ней путь для setDatabaseName("...") ?
2. Где создать папку temp куда будут складываться файлы с ftp и там же будут собираться файлы перед отправкой.
3. Как это сделать правильно? Воспользоваться стандартными каталогами или где то создать свои?
4. Как это автоматизировать? Что бы пустая БД копировалась вместе с инсталляцией, создавались каталоги и.т.д

Нашел информацию по теме: http://www.s40s60.dp.ua/docs/s60_filesystem (http://www.s40s60.dp.ua/docs/s60_filesystem) , - но мне она показалась недостаточной.


Название: Re: Структура папок на Symbian. Куда что?
Отправлено: whirlwind от Июль 22, 2010, 16:23
4. Как это автоматизировать? Что бы пустая БД копировалась вместе с инсталляцией, создавались каталоги и.т.д
можно засунуть внутрь в sis-файла практически все что угодно и, в принципе, пустые директории он тоже создавать может

была где-то хорошая статья про то, как его правильно создавать, но не нашлась...
только вот это может, поможет http://developer.symbian.org/wiki/index.php/Create,_Use,_and_Deploy_a_Shared_Library_DLL_on_Qt


Название: Re: Структура папок на Symbian. Куда что?
Отправлено: sq_vasya от Август 31, 2010, 13:30
Вопросы:
1. Куда положить базу данных, и как то прописать к ней путь для setDatabaseName("...") ?
2. Где создать папку temp куда будут складываться файлы с ftp и там же будут собираться файлы перед отправкой.
3. Как это сделать правильно? Воспользоваться стандартными каталогами или где то создать свои?


По поводу где хранить базу и где создавать временные папки. Я бы это делал в приватной директории приложения.
http://wiki.forum.nokia.com/index.php/How_to_get_private_directory (http://wiki.forum.nokia.com/index.php/How_to_get_private_directory) смотри здесь, как получить путь к ней. В ней при помощи RFs::MkDir() и RFs::MkDirAll() можно создавать свои папки.
Объясняю свою точку зрения. Никакое другое приложение (если оно, конечно, не обладает капабилити AllFiles) не будет иметь доступа к Вашей базе и не сможет её умышленно или неумышленно повредить. Во-вторых, одно из требований Simbian Signing чтобы приложение после себя оставляло не больше, чем 2к данных на дисках после деинсталяции. Поскольку приватная директория удаляется при удалении приложения со всем содержимым, то не нужно заморачиваться дополнительно на удаление именно этой директории.

Цитировать
4. Как это автоматизировать? Что бы пустая БД копировалась вместе с инсталляцией, создавались каталоги и.т.д

Это элементарно делается при помощи pkg файла.

Код:
...
"MyDatabase.dat"                                       -"!:\private\e57ab29e\MyDatabase.dat"
...

где e57ab29e нужно заменить на ID Вашего приложения.

http://library.forum.nokia.com/index.jsp?topic=/S60_5th_Edition_Cpp_Developers_Library/GUID-35228542-8C95-4849-A73F-2B4F082F0C44/sdk/doc_source/ToolsAndUtilities94/Installing-ref/PKG_format/index.html (http://library.forum.nokia.com/index.jsp?topic=/S60_5th_Edition_Cpp_Developers_Library/GUID-35228542-8C95-4849-A73F-2B4F082F0C44/sdk/doc_source/ToolsAndUtilities94/Installing-ref/PKG_format/index.html) - здесь полностью расписан формат pkg файла. Ссылку привожу на случай если Вам будет необходимо сделать что-то более сложное.


Название: Re: Структура папок на Symbian. Куда что?
Отправлено: Kuper от Октябрь 19, 2010, 15:31
Цитировать

Это элементарно делается при помощи pkg файла.

Код:
...
"MyDatabase.dat"                                       -"!:\private\e57ab29e\MyDatabase.dat"
...


Здравствуйте.
Что то элементарно не получается, pkg файл перезаписывается после того как сделаю билд проекта и в нем уже нету моей строки. Если ставлю атрибут редонли, то pkg файл естественно не перезаписывается, но и файл в пакет sis все равно не подкладывается.

И про какой pkg файл идет речь? У меня есть <название проекта>_installer.pkg и <название проекта>_template.pkg. Изменял <название проекта>_installer.pkg

Код:
"C:/NokiaQtSDK/Projects/MobAdvert/MobAdvert.db" - "c:\private\2002CCCE\import\MobAdvert.db"


Название: Re: Структура папок на Symbian. Куда что?
Отправлено: sq_vasya от Ноябрь 10, 2010, 15:52

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

Да, согласен. Мой фейл. Вышеуказанный код справедлив для нативного Symbian приложения. Если же мы это делаем на Qt, то вместо

Код:
...
"MyDatabase.dat"                                       -"!:\private\e57ab29e\MyDatabase.dat"
...

нужно писать

Код:
...
BLD_INF_RULES.prj_exports +=  ".MyDatabase.dat \epoc32\winscw\c\private/e57ab29e\MyDatabase.dat"
...

но уже в *.pro файле Qt проекта.