我现在正在用Cascades (C++编程语言)开发一个BlackBerry 10应用程序。谁能告诉我如何调用BlackBerry 10中的web服务:级联?我只是个初学者,所以我什么都不懂。谢谢你的回答
发布于 2013-10-30 10:27:48
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()字符串...
发布于 2013-10-29 18:53:01
使用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
}然后使用managers的get方法传递您的QNetworkRequest,您可以像以前一样创建它,也可以单独创建它。这是一个最小的例子,它将一个HTTP请求发送到http://qt-project.org,并返回一个包含来自页面的数据的响应,你可以从那里扩展到像get JSON或XML这样的事情。
示例来自:QtNetwork documentation
https://stackoverflow.com/questions/19655158
复制相似问题