我正在使用Cascades(C ++编程语言)开发BlackBerry 10应用程序。任何人都可以告诉我如何在BlackBerry 10中调用Web服务:Cascades?我只是一个初学者,所以我什么都不知道。谢谢你的回答
答案 0 :(得分:1)
void GetWeb::start(const QString &str)
{
QNetworkRequest request = QNetworkRequest();
request.setUrl(QUrl(str));
QNetworkAccessManager *networkAccessManager = new QNetworkAccessManager(this);
connect(networkAccessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(requestFinished(QNetworkReply*)));
networkAccessManager->get(request);
}
void GetWeb::requestFinished(QNetworkReply* reply)
{
if (reply->error() == QNetworkReply::NoError)
{
emit complete(reply->readAll());
}
reply->deleteLater();
}
在这种情况下,我将结果字符串作为信号发出,但如果您愿意,也可以直接使用reply-> readAll()字符串...
答案 1 :(得分:0)
使用Qt发送网络请求有一些活动部分。以下是Qt使用的示例:
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(QUrl("http://qt-project.org")));
所以你要做的是创建一个QNetworkAccessManager
对象,它处理发送请求和处理响应的实际过程。然后,您将QNetworkRequest
完成时管理器发出的信号连接到您创建的名为replyFinished
的插槽,该插槽将QNetworkReply *
作为参数,可能如下所示:
void MyClass::replyFinished(QNetworkReply *serverResponse)
{
//do something with the response
}
然后,您可以使用管理员get
方法传递您可以创建的QNetworkRequest
,或者单独创建。{1}}。这就是它,这是一个最小的例子,它将向http://qt-project.org
发送HTTP请求并返回包含页面数据的响应,您可以从那里扩展以执行诸如获取JSON或XML之类的操作。