首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >blackberry 10中的Web服务

blackberry 10中的Web服务
EN

Stack Overflow用户
提问于 2013-10-29 18:10:48
回答 2查看 213关注 0票数 0

我现在正在用Cascades (C++编程语言)开发一个BlackBerry 10应用程序。谁能告诉我如何调用BlackBerry 10中的web服务:级联?我只是个初学者,所以我什么都不懂。谢谢你的回答

EN

回答 2

Stack Overflow用户

发布于 2013-10-30 10:27:48

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2013-10-29 18:53:01

使用Qt发送网络请求有几个可移动的部分。下面是Qt使用的示例:

代码语言:javascript
复制
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 *作为参数,可能如下所示:

代码语言:javascript
复制
void MyClass::replyFinished(QNetworkReply *serverResponse)
{
   //do something with the response
}

然后使用managers的get方法传递您的QNetworkRequest,您可以像以前一样创建它,也可以单独创建它。这是一个最小的例子,它将一个HTTP请求发送到http://qt-project.org,并返回一个包含来自页面的数据的响应,你可以从那里扩展到像get JSON或XML这样的事情。

示例来自:QtNetwork documentation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19655158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档