2012-11-26 10 views
6

मैं वेब सेवा का उपयोग कर बीबी -10 के लिए एक एप्लीकेशन विकसित कर रहा हूं। इसमें मैं जेएसओएन को प्राप्त और पोस्ट विधियों दोनों में पार्स करना चाहता हूं और मैं इंटरनेट उपलब्धता की जांच करना चाहता हूं।ब्लैकबेरी 10 कैस्केड - इंटरनेट कनेक्टिविटी की जांच करें

मैं यह कैसे कर सकता हूं?

उत्तर

5

चेक इंटरनेट उपलब्धता नीचे कोड

bool app::isNetworkAvailable() { 
    QNetworkConfigurationManager netMgr; 
    QList<QNetworkConfiguration> mNetList = netMgr.allConfigurations(QNetworkConfiguration::Active); 

    return (mNetList.count() > 0 && netMgr.isOnline()); 
} 
+1

मैं इस चलाने के लिए उन कुछ वर्गों backport करने के लिए बहुत आसान होगा, लेकिन मैं "गलत" हो रही है केवल। क्या मुझे कोई पुस्तकालय जोड़ना है। और एक और बात मैं ब्लैकबेरी -10 सिम्युलेटर में वाईफ़ाई को कनेक्ट करने में असमर्थ हूं। कृपया मुझे इसके बारे में कोई मार्गदर्शन दें। – alishaik786

+1

मैं इस कोड का परीक्षण एक सिम्युलेटर पर कर रहा हूं जो मुझे 'झूठा' दे रहा है। कृपया सिम्युलेटर की जांच कैसे करें? – Mayank

+0

यह अतिप्रवाह रूप से लंबा है। इसे एक पंक्ति से बदला जा सकता है। नीचे मेरा जवाब देखें। – lpapp

0

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(); 
} 
} 
012 का उपयोग करते हुए

यहाँ पूर्ण कोड देखें ---->http://supportforums.blackberry.com/t5/Native-Development/webservice-help-json/m-p/2569953/highlight/false#M46724

1

मेरे शिक्षक एक qml घटक अगर वहाँ कनेक्शन है और कनेक्शन की किस तरह यह (वाईफाई, ब्लूटूथ, वाहक आदि) है पता चलता है कि बनाया। जब कनेक्शन की स्थिति या इंटरफ़ेस का उपयोग किया जाता है तो यह सिग्नल भेजता है।

कोड GitHub पर होस्ट किया गया है: https://github.com/rodrigopex/CheckInternetMicroSample

0

1) आप प्रति documentation के रूप में इंटरनेट के लिए निम्न विधि द्वारा उपलब्ध की जाँच कर सकते हैं:

bool QNetworkConfigurationManager :: isOnline() स्थिरांक

यदि सक्रिय नेटवर्क इंटरफ़ेस के माध्यम से सिस्टम किसी अन्य डिवाइस से कनेक्ट किया जाता है तो सत्य वापस आता है; अन्यथा झूठी वापसी करता है।

2) json बिट के लिए के रूप में, आप JSON पार्सर क्यूटी 5 में इस प्रकार इस्तेमाल कर सकते हैं:

JSON Support in Qt

यह काफी सरल आपके आवेदन againt क्यूटी 5 बंडल करने है, लेकिन यह होगा आशा है कि जल्द ही मंच पर उपलब्ध होगा।

Qt 5 on BlackBerry 10 - Beyond the Myth

उसमें असफल होने पर यह क्यूटी 4.

संबंधित मुद्दे