我是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 Resturns JSON数据,我想得到它,但我不知道如何,我尝试了上面的示例来获取任何想法,但我无法得到它,我是新手......
请帮帮我..谢谢......
答案 0 :(得分:1)
如果问题只是您正在阅读JSON,但您的代码适用于XML,那么您必须用XmlDataModel
填充GroupDataModel
来填充JsonDataAccess
。您需要的所有内容都记录在案here。