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