0

現在、Cascades (C++ プログラミング言語) を使用して BlackBerry 10 アプリを開発しています。BlackBerry 10: Cascades で Web サービスを呼び出す方法を教えてください。私は初心者なので、何もわかりません。ご回答有難うございます

4

2 に答える 2

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() 文字列を使用することもできます...

于 2013-10-30T02:27:47.810 に答える
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次に、が終了したときにマネージャが発行するシグナルを、作成したスロットに接続します。このスロットreplyFinishedQNetworkReply *、パラメータとして次のようになります。

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

次に、 managergetメソッドを使用して を渡しますQNetworkRequest。これは、そこにあったように作成することも、個別に作成することもできます。それだけです。これは、HTTP 要求を送信してhttp://qt-project.org、ページからのデータを含む応答を返す最小限の例です。そこから拡張して、JSON や XML を取得するなどの操作を実行できます。

例: QtNetwork のドキュメント

于 2013-10-29T10:53:01.497 に答える