2013-07-26 99 views
0

我是新的BlackBerry 10開發,我想從一個RESTful服務獲取數據,但我不知道該怎麼做...請如果有人能幫助我,它會很好。我已經閱讀了關於Blackberry文檔中的網絡訪問的所有文檔,但我無法得到它如何開始,我嘗試了一些示例,但它不能解決我的問題。請幫我...使用RestFul Api從黑莓10應用程序

謝謝。

app.cpp

void ApplicationUI::initiateRequest(){ 
    // Start the activity indicator. 
    myActivityIndicator->start(); 
    myLabel->setVisible(true); 
    myLabel->setText("Retrieving contact list ..."); 
    // Create and send the network request. 
    QNetworkRequest request = QNetworkRequest(); 
    request.setUrl(QUrl("http://developer.blackberry.com/cascades/files/documentation/images/model.xml")); 
    myNetworkAccessManager->get(request); 
} 

void ApplicationUI::requestFinished(QNetworkReply* reply) 
{ 
    myActivityIndicator->stop(); 
    myLabel->setVisible(false); 

    // Check the network reply for errors. 
    if (reply->error() == QNetworkReply::NoError) 
    { 
     // Open the file and print an error if the file cannot be opened. 
     if (!myFile->open(QIODevice::ReadWrite)) 
     { 
      // Report: "Failed to open file" 
      return; 
     } 

     // Write to the file using the reply data and close the file. 
     myFile->write(reply->readAll()); 
     myFile->flush(); 
     myFile->close(); 

     // Create the data model using the contents of the file. 
     XmlDataModel *dataModel = new XmlDataModel(); 
     dataModel->setSource(QUrl("file://" + QDir::homePath() + "/model.xml")); 

     // Set the new data model on the list. 
     myListView->setDataModel(dataModel); 
    } 
    else 
    { 
     myLabel->setText("Problem with the network"); 
    } 

    reply->deleteLater(); 
} 

main.qml

Page { 
    Container { 
      id: cntrListview 

      // A list that has two list item components, one for a header 
      // and one for contact names. The list has an object name so 
      // that we can set the data model from C++ code. 
      ListView { 
       objectName: "list" 
       topPadding: 6.0 
       bottomPadding: 6.0 
       leftPadding: 6.0 
       rightPadding: 6.0 

       // The app loads an XML file called model.xml that is used 
       // as the data model for the ListView to populate our 
       // contact list. This XML file is downloaded in our 
       // app's constructor in the accompanying C++ code. 
       dataModel: XmlDataModel { 
       } 
       listItemComponents: [ 
        // The header list item displays a title along with a counter 
        // that displays the number of children. Each child is a name 
        // in the contact list. 
        ListItemComponent { 
         type: "header" 
         Header { 
          title: ListItemData.title 
          subtitle: (ListItem.initialized ? ListItem.view.dataModel.childCount(ListItem.indexPath) : 0) 
         } 
        }, 
        // The contact list item displays the name of the contact. 
        ListItemComponent { 
         type: "contacts" 
         StandardListItem { 
          title: ListItemData.title 
         } 
        } 
       ] 
      } 
     } 
} 

這我都試過了,但我的休息恢復JSON數據,我想知道它,但我不知道如何,我嘗試了上述示例以獲得任何想法,但我無法t將其,我'在這個新的..

請幫我..謝謝你......

+0

你有什麼試過?什麼不起作用?請向我們展示您的代碼,以便我們爲您提供幫助。 – LuigiEdlCarno

+0

如果問題在於您正在閱讀JSON,但是您的代碼正在爲XML工作,則必須由由「JsonDataAccess」填充的「GroupDataModel」交換您的「XmlDataModel」。你需要的一切記錄在這裏:https://developer.blackberry.com/cascades/documentation/device_platform/data_access/working_with_json.html –

+0

謝謝你...這就解決了我的問題....謝謝你.... – Joe0588

回答

1

如果問題僅僅是你正在閱讀JSON,但你的代碼正在爲XML,你會必須交換您的XmlDataModelGroupDataModel填充JsonDataAccess。你需要的一切都被記錄在here