【问题标题】:BB Slot not firing for Http ConnectionBB 插槽未触发 Http 连接
【发布时间】:2015-07-24 12:16:53
【问题描述】:

我对黑莓非常陌生,并且使用级联。 我已经实现了一个简单的 http 连接(HTTP POST)。

响应有问题,有时我是响应显示在吐司中,有时它根本不显示任何内容。

代码如下:

void ApplicationUI::work(QString clgId){
    QNetworkAccessManager connection;
    QUrl url("http://abc.co.in/test/test.php");
    //url.addQueryItem("parameter", "2");
    //QNetworkRequest request(url);

    QByteArray data;
    data.append("test=1");
    QNetworkReply *reply = connection.post(request, data);
    connect(reply, SIGNAL(finished()), SLOT(postFinished()));
    showToast("OK");/*If I comment this line. The postFinished() is not called*/
}

void ApplicationUI::postFinished(void){
    showToast("PostFinished");
    QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
    if (reply->error() == QNetworkReply::NoError){
        // No error
        QString result = reply->readAll();
        showToast(result);
    }
    else{
        // error occurred
        int errorCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
        qDebug() << errorCode << endl << reply->errorString();
        showToast(reply->errorString());
    }


    reply->deleteLater();
}

void ApplicationUI::showToast(QString text) {

    bb::system::SystemToast toast;
    toast.setBody(text);
    toast.killTimer(5);
    toast.setPosition(bb::system::SystemUiPosition::BottomCenter);
    toast.exec();
}

我正在解决问题所在,请帮助。

【问题讨论】:

  • 只是澄清一下,toast 没有显示或 POST 请求没有返回任何内容的问题?它们是两个不同的问题。

标签: httprequest blackberry-10 blackberry-cascades


【解决方案1】:

我建议您查看 BlackBerry 10 Networking 文档。

Networking documentation

还有一个示例项目展示了如何使用 HTTP post 和 HTTP get 与服务器通信。

github sample project

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 2015-03-14
    • 2016-11-10
    相关资源
    最近更新 更多