現在、Cascades (C++ プログラミング言語) を使用して BlackBerry 10 アプリを開発しています。BlackBerry 10: Cascades で Web サービスを呼び出す方法を教えてください。私は初心者なので、何もわかりません。ご回答有難うございます
質問する
215 次
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
次に、が終了したときにマネージャが発行するシグナルを、作成したスロットに接続します。このスロットreplyFinished
はQNetworkReply *
、パラメータとして次のようになります。
void MyClass::replyFinished(QNetworkReply *serverResponse)
{
//do something with the response
}
次に、 managerget
メソッドを使用して を渡しますQNetworkRequest
。これは、そこにあったように作成することも、個別に作成することもできます。それだけです。これは、HTTP 要求を送信してhttp://qt-project.org
、ページからのデータを含む応答を返す最小限の例です。そこから拡張して、JSON や XML を取得するなどの操作を実行できます。
于 2013-10-29T10:53:01.497 に答える