2013-08-26 60 views
0

這是我的代碼行,我想從位於我的設備共享文件夾中的xml文件加載source:數據。如何在Blackberry 10級聯中的ListView中加載GroupDataModel中的源數據?

是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文件,它位於上述設備的目錄位置究竟如何。

在此先感謝。

回答

1

我們有兩個部分,以做到這一點:

第一個允許您使用的共享文件夾

Steps應用程序:

  1. 去Bar-descriptor.xml在您的項目
  2. 選擇應用程序
  3. 在共享文件中檢查爲真

第二個是用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 
    } 
1

Snapshot to explore bar-descriptor.xml

此快照描述如何到達權限 - >共享文件

相關問題