Разрабатываю приложение для BB-10 с помощью веб-сервиса. Здесь я хочу проанализировать JSON как в методах получения, так и в методах публикации, и я хочу проверить доступность Интернета.
Как я могу это сделать?
Разрабатываю приложение для BB-10 с помощью веб-сервиса. Здесь я хочу проанализировать JSON как в методах получения, так и в методах публикации, и я хочу проверить доступность Интернета.
Как я могу это сделать?
Проверьте доступность Интернета, используя приведенный ниже код.
bool app::isNetworkAvailable() {
QNetworkConfigurationManager netMgr;
QList<QNetworkConfiguration> mNetList = netMgr.allConfigurations(QNetworkConfiguration::Active);
return (mNetList.count() > 0 && netMgr.isOnline());
}
false
. Подскажите пожалуйста как проверить на симуляторе?
- person Mayank; 29.05.2013
Мой учитель создал компонент qml, который показывает, есть ли соединение и какое это соединение (Wi-Fi, Bluetooth, оператор связи и т. Д.). Он также отправляет сигнал при изменении состояния подключения или используемого интерфейса.
Код размещен на github: https://github.com/rodrigopex/CheckInternetMicroSample.
1.ФАЙЛ HPP
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
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();
}
}
СМОТРЕТЬ ЗДЕСЬ ПОЛНЫЙ КОД ----> http://supportforums.blackberry.com/t5/Native-Development/webservice-help-json/mp/2569953/highlight/false#M46724
1) Вы можете проверить доступность Интернета следующим способом в соответствии с документацией а>:
bool QNetworkConfigurationManager :: isOnline () const
Возвращает true, если считается, что система подключена к другому устройству через активный сетевой интерфейс; в противном случае возвращает false.
2) Что касается битов json, вы можете использовать парсер json в Qt 5 следующим образом:
Достаточно просто связать Qt 5 с вашим приложением, но мы надеемся, что скоро он будет доступен на платформе.
Qt 5 на BlackBerry 10 - за гранью мифа
В противном случае было бы очень просто перенести эти несколько классов в Qt 4.