2013-08-26 6 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

우리는이 작업을 수행하는 두 부분이 있습니다

먼저 하나의 공유 폴더

단계 응용 프로그램에 사용할 수 있도록 :

  1. 이동이 바-descriptor.xml을 위해 프로젝트에
  2. 응용 프로그램 선택
  3. 공유 파일에서 true를 확인하십시오.

두 번째는

dataModel: XmlDataModel { 
      source: dirPaths.documents 
    } 
1

Snapshot to explore bar-descriptor.xml

// 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을 C++를 사용하여 올바른 경로를 확인하고

이 당신의 ApllicationUI.cpp C++ 코드에서 컨텍스트 속성에 QML로 보내입니다

이 스냅 샷은 사용 권한 -> 공유 파일에 접근하는 방법을 설명합니다.