2013-10-29 88 views
0

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

回答

0

有幾個移動部分使用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完成到這需要QNetworkReply *作爲參數,你已經創建了一個名爲插槽replyFinished,這可能是這樣的:

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

您再使用管理get方法通過您的QNetworkRequest,您可以像創建它一樣,或單獨創建。就是這樣,這是一個最簡單的例子,它會發送一個HTTP請求到http://qt-project.org,並返回一個包含頁面數據的響應,你可以從那裏擴展出去執行諸如獲取JSON或XML之類的東西。

來自實例:QtNetwork documentation

1
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()字符串直接,如果你想...