我正在尝试在BlackBerry 10模拟器提供的文件系统的数据文件夹中添加一些可写文件。 提供的链接中的PFB文件系统层次结构:https://developer.blackberry.com/cascades/documentation/device_platform/filesystem/index.html
在bar-descriptor.xml文件中尝试下面的选项但在其中任何一个中都没有成功。 1. $ HOME / jsapp.html 2. $ {HOME} /jsapp.html
任何帮助将不胜感激。
答案 0 :(得分:0)
您的问题并不清楚,但听起来您正试图将这些文件包含在BAR文件中。你不能这样做。使用BAR文件部署的所有资产都由应用程序签名覆盖,并且无法更改(除了在模拟器或具有未签名BAR的开发人员令牌的设备上)。如果需要在安装后修改资产,请使用BAR文件部署初始版本并将其复制到数据目录。其中一个示例程序(如果我没记错的话,引用数据库示例)就是这样做的。
答案 1 :(得分:0)
正如Richard所说,这是直接来自Quotes示例应用程序
void CustomSqlDataSource::copyFileToDataFolder(const QString fileName)
{
// Since we need read and write access to the file, it has
// to be moved to a folder where we have access to it. First,
// we check if the file already exists (previously copied).
QString dataFolder = QDir::homePath();
QString newFileName = dataFolder + "/" + fileName;
QFile newFile(newFileName);
if (!newFile.exists()) {
// If the file is not already in the data folder, we copy it from the
// assets folder (read only) to the data folder (read and write).
QString appFolder(QDir::homePath());
appFolder.chop(4);
QString originalFileName = appFolder + "app/native/assets/" + fileName;
QFile originalFile(originalFileName);
if (originalFile.exists()) {
// Create sub folders if any creates the SQL folder for a file path like e.g. sql/quotesdb
QFileInfo fileInfo(newFileName);
QDir().mkpath (fileInfo.dir().path());
if(!originalFile.copy(newFileName)) {
qDebug() << "Failed to copy file to path: " << newFileName;
}
} else {
qDebug() << "Failed to copy file data base file does not exists.";
}
}
mSourceInDataFolder = newFileName;
}