0

这是我想source:从位于我的设备共享文件夹中的 xml 文件中加载数据的代码行。

该xml文件的路径是QFile textfile("/accounts/1000/shared/documents/myData.xml");

我的代码是:

import bb.cascades 1.0
import bb.data 1.0
Page {
content: ListView {
id: listView
dataModel: dataModel
    ...
}
attachedObjects: [
    GroupDataModel {
    id: dataModel
    },
        DataSource {
      id: dataSource


     //---------------------------------------
     //Here I want to load xml file
     //---------------------------------------
      source: "/accounts/1000/shared/documents/myData.xml"
    //---------------------------------------


      query: "/contacts/contact"
      onDataLoaded: {
        dataModel.insertList(data);
      }
    }
  ]
  onCreationCompleted: { dataSource.load(); }
}

任何人都请帮助我,如何在位于上方设备目录位置的 GroupDataModel 中加载 xml 文件。

提前致谢。

4

2 回答 2

1

我们有两个部分来做到这一点:

第一个允许您的应用程序使用共享文件夹

脚步:

  1. 转到项目中的 bar-descriptor.xml
  2. 选择应用
  3. 在共享文件中检查 true

第二个是使用 C++ 获取正确的路径并将其发送到上下文属性中的 Qml

这在您的 ApllicationUI.cpp C++ 代码中

// Build the path, add it as a context property, and expose
// it to QML
QString workingDir = QDir::currentPath();
QString path = "file://" + workingDir +"/shared/documents/model.xml";
QDeclarativePropertyMap* dirPaths = new QDeclarativePropertyMap;
dirPaths->insert("documents", QVariant(QString(path)));
qml->setContextProperty("dirPaths", dirPaths);

QML

    dataModel: XmlDataModel {
            source: dirPaths.documents
    } 
于 2013-08-27T09:00:19.207 回答
1

快照探索 bar-descriptor.xml

此快照描述了如何访问权限->共享文件

于 2013-08-27T10:57:54.113 回答