如何使用预加载的数据库运送必需品或qt项目

时间:2012-02-03 00:58:55

标签: android qt

有没有办法将预加载的sqlite数据库添加到必需品或qt项目中?我尝试将它直接复制到模拟器中的/ data / data / my_project / files7,我没有问题,但是当我试图将它复制到三星Galaxy Gio时它说我没有许可,无论如何要解决这个问题没有生根设备或将数据库包含在项目中?

2 个答案:

答案 0 :(得分:2)

是。您可以将任何文件添加到apk文件中。 为此,只需将这些字符串添加到项目文件中:

deployment.files = cfg.init
deployment.path = /assets/data/data/org.kde.necessitas.example.<package_name>/files
INSTALLS += deployment

有两个限制:所有deployement文件都是READONLY,只能使用AbsolutelyPath打开它们。

所以,我通过在程序中添加一些代码解决了这些问题:

if (!QFile::exists("cfg.db"))
{
    QFile dfile("/data/data/org.kde.necessitas.example.<package_name>/files/cfg.init");
    if (dfile.exists())
    {
        dfile.copy("cfg.db");
        QFile::setPermissions("cfg.db",QFile::WriteOwner | QFile::ReadOwner);
    }
}

这就是全部:)

答案 1 :(得分:0)

我没试过这个,但是如何使用它:Qt Resource System