Веб-сервис в Blackberry 10
Я сейчас разрабатываю приложения для BlackBerry 10 с помощью каскадов (язык программирования C++). Может кто-нибудь сказать мне, как мне сделать звонок на веб-сервис в BlackBerry 10: Cascades? Я просто новичок, поэтому я ничего не знаю. Спасибо за Ваш ответ
2 ответа
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(), если хотите...
Есть несколько движущихся частей для отправки сетевого запроса с использованием 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
, который вы можете создать, как он был там, или отдельно. И это все, это минимальный пример, который отправит HTTP-запрос http://qt-project.org
и возвращая ответ, содержащий данные со страницы, вы можете оттуда выйти, чтобы получить такие вещи, как получить JSON или XML.
Пример из: документации QtNetwork