Как загрузить исходные данные в GroupDataModel для ListView в каскаде Blackberry 10?

Вот моя строка кода, где я хочу загрузить 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(); }
}

Кто-нибудь, пожалуйста, помогите мне, как именно загрузить XML-файл в GroupDataModel, который находится в указанном выше каталоге устройства.

Заранее спасибо.


person Sunil Targe    schedule 26.08.2013    source источник


Ответы (2)


у нас есть две части, чтобы сделать это:

Первый, позволяющий вашему приложению использовать общие папки

Шаги:

  1. Перейдите к bar-descriptor.xml в вашем проекте.
  2. выберите приложение
  3. проверить true в общих файлах

Второй - получить правильный путь с помощью С++ и отправить его в Qml в свойстве контекста.

Это в вашем коде C++ ApplicationUI.cpp

// 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
    } 
person AlaaRamadan    schedule 27.08.2013

Снимок для изучения bar-descriptor.xml

этот снимок описывает, как получить разрешения-> общие файлы

person AlaaRamadan    schedule 27.08.2013