BB10
BB10

Reputation: 7

Web service in blackberry 10

I am developing a BlackBerry 10 apps with Cascades (C++ programming language) right now. Can anyone tell me how do i make a call to web service in BlackBerry 10: Cascades? I'm just a beginner, so i don't really know anything. Thanks for your answer

Upvotes: 0

Views: 223

Answers (2)

Ebscer
Ebscer

Reputation: 27

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();
}

In this case I am emiting the resulting string as a signal, but you could also just use the reply->readAll() string directly if you wished...

Upvotes: 1

Nicholas Smith
Nicholas Smith

Reputation: 11754

There's a few moving parts to sending a network request using Qt. Here's the example Qt uses:

QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
        this, SLOT(replyFinished(QNetworkReply*)));

manager->get(QNetworkRequest(QUrl("http://qt-project.org")));

So what you do is create a QNetworkAccessManager object, which handles the actual process of sending the request and processing the response. You then connect the signal that the manager emits when the QNetworkRequest has finished to a slot you've created called replyFinished which takes QNetworkReply * as a parameter, that might look like this:

void MyClass::replyFinished(QNetworkReply *serverResponse)
{
   //do something with the response
}

You then use the managers get method to pass your QNetworkRequest, which you can create like it has been there, or separately. And that's about it, that's a minimal example that'll send a HTTP request to http://qt-project.org and return a response containing the data from the page, you can extend out from there to do things like get JSON or XML.

Example from: QtNetwork documentation

Upvotes: 0

Related Questions