Как я могу использовать sqlite3 в своем приложении Ubuntu Phone? (Бэкэнд C ++)

Я хочу создать приложение, которое имеет бэкэнд C ++ и использует sqlite3. Я могу подключиться к базе данных в памяти, используя следующий код: m_db = QSqlDatabase::addDatabase("QSQLITE"); m_db.setDatabaseName(":memory:"); m_db.open();

Но я не знаю, какой путь я должен использовать или какой путь мне нужно сделать, чтобы создать файл локальной базы данных на моем телефоне. Если я запускаю приложение на своем компьютере, я могу заменить ":memory:" на любой путь, который я хочу.

Благодаря

2
задан 9 April 2016 в 22:06

1 ответ

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

, Если Вы хотите записать в от файловой системы, необходимо заботиться о заключении приложения Ubuntu. Нормальное не ОС положила, что приложение может только записать в некоторые ограниченные "частные" каталоги и читать еще из некоторых каталогов. Можно использовать класс QStandardPaths для нахождения этих каталогов. Например, для получения перезаписываемого каталога данных я использую QStandardPaths::writableLocation(QStandardPaths::DataLocation), и с QStandardPaths::standardLocations(QStandardPaths::DataLocation) Вы получаете все читаемые каталоги данных. Это работает на меня для создания моего sqlite3 файла в записываемом каталоге данных.

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

заключения приложения Ubuntu доступны здесь .

0
ответ дан 10 April 2016 в 08:06
  • 1
    Между прочим, это дает различный вывод, чем с -s, -t и -p опции, оба являющийся полезным в некотором роде. – dessert 19 August 2017 в 01:33

Другие вопросы по тегам:

Похожие вопросы: