簡體   English   中英

黑莓10中的Web服務

[英]Web service in blackberry 10

我現在正在使用Cascades(C ++編程語言)開發BlackBerry 10應用程序。 誰能告訴我如何在BlackBerry 10:Cascades中撥打網絡服務電話? 我只是一個初學者,所以我真的什么都不知道。 感謝您的回答

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 ,您可以像創建該QNetworkRequest一樣創建它,也可以單獨創建。 就是這樣,這是一個最小的示例,該示例將向http://qt-project.org發送HTTP請求並返回包含頁面中數據的響應,您可以從那里擴展出執行諸如JSON或XML。

來自以下示例: QtNetwork文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM