0

BlackBerry10シミュレーターが提供するファイルシステムのデータフォルダーに書き込み可能なファイルをいくつか追加しようとしています。提供されたリンクのPFBファイルシステム階層:https ://developer.blackberry.com/cascades/documentation/device_platform/filesystem/index.html

bar-descriptor.xmlファイルで以下のオプションを試しましたが、いずれも成功しませんでした。1. $ HOME / jsapp.html 2. $ {HOME} /jsapp.html

どんな助けでもいただければ幸いです。

4

2 に答える 2

0

あなたの質問からは明らかではありませんが、BARファイルにthosファイルを含めようとしているようです。これはできません。BAR ファイルでデプロイされたすべてのアセットは、アプリケーションの署名によってカバーされ、変更できません (シミュレーターまたは未署名の BAR を持つ開発者トークンを持つデバイスを除く)。インストール後にアセットを変更する必要がある場合は、BAR ファイルを使用して初期バージョンをデプロイし、それをデータ ディレクトリにコピーします。サンプル プログラムの 1 つ (私の記憶が正しければ見積もりデータベースのサンプル) がこれを行います。

于 2012-12-27T23:59:14.677 に答える
0

リチャードが言ったように、これは引用サンプルアプリから直接です

    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;
}
于 2013-01-22T13:58:48.517 に答える