1.HPP FILE
class controller : public QObject
{
Q_OBJECT
public:
controller(bb::cascades::Application *app);
public Q_SLOTS:
void sendRequest(const QString &countryID);
private Q_SLOTS:
void onFinished();
};
2.CPP FILE
void controller::sendRequest(const QString &countryID)
{
QNetworkAccessManager* networkAccessManager = new QNetworkAccessManager(this);
const QString queryUri = QString::fromLatin1("http://192.168.1.251:410/Mobile/Service1.svc/english/Category?CountryID=%1").arg(countryID);
QNetworkRequest request(queryUri);
QNetworkReply* reply = networkAccessManager->get(request);
bool ok = connect(reply, SIGNAL(finished()), this, SLOT(onFinished()));
Q_ASSERT(ok);
Q_UNUSED(ok);
}
void controller::onFinished()
{
QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
QString response;
if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 200)
{
JsonDataAccess jda;
QVariantMap map = jda.loadFromBuffer(reply->readAll()).toMap();
QVariantList addresses = map["GetCategoryResult"].toList();
foreach(QVariant var, addresses) {
QVariantMap addressMap = var.toMap();
qDebug() << "CategoryName is " << addressMap["CategoryName"].toString();
qDebug() << "CategoryID is " << addressMap["CategoryID"].toString();
}
}
else {
qDebug() << "Server returned code " << reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
}
}
SEE MÃ ĐẦY ĐỦ TẠI ĐÂY ---->http://supportforums.blackberry.com/t5/Native-Development/webservice-help-json/m-p/2569953/highlight/false#M46724
tôi chạy này, Nhưng tôi nhận được "false" mà thôi. Có thư viện nào tôi phải thêm vào không. Và một điều nữa tôi không thể kết nối WIFI trong trình mô phỏng Blackeberry-10. Xin vui lòng cho tôi bất kỳ hướng dẫn về việc này. – alishaik786
Tôi đang thử nghiệm mã này trên một trình mô phỏng nó cho tôi 'sai'. Vui lòng cho biết cách kiểm tra trình mô phỏng? – Mayank
Điều này cực kỳ dài. Điều này có thể được thay thế bằng một dòng. Xem câu trả lời của tôi dưới đây. – lpapp