0

私は BlackBerry 10 の開発に不慣れで、RESTful サービスからデータを取得しようとしていますが、どうすればよいかわかりません...誰かが私を助けてくれれば、それはいいでしょう. Blackberry ドキュメントのネットワーク アクセスに関するすべてのドキュメントを読みましたが、開始方法がわからず、いくつかのサンプルを試しましたが、問題が解決しません。私を助けてください...

ありがとうございました..

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
                        }
                    }
                ]
            }
        }
}

これは私が試したものですが、Rest は JSON データを返します。それを取得したいのですが、方法がわかりません。上記のサンプルを試してみましたが、取得できません。これで新しい..

私を助けてください..ありがとう...

4

1 に答える 1

1

問題が JSON を読み取っているだけで、コードが XML で動作している場合は、XmlDataModelaGroupDataModelで埋められたa と交換する必要がありますJsonDataAccess。必要なものはすべてここに文書化されています。

于 2013-07-28T08:36:55.960 に答える