[BB10] BlackBerry JavaからBlackBerry 10 Cascadesへのポーティング(その3)

その2は、BlackBerry JavaからBlackBerry 10 CascadesへのポーティングというよりBlackBerry 10のアプリケーション動作に関する情報でした。

その3はネットワークの通信に関する情報です。

BlackBerry Java to BlackBerry 10 Cascades Porting Series – Part 3: Networking (Inside BlackBerry Developer Blog)

BlackBerry 7 OSでネットワーク通信を行う場合には、Connector.open() パラダイムを使い、コネクションのためのプロトコルやトランスポート指定のストリングのHttpConnectionを例とすると(“http://www.example.com;deviceside=true”)のような指定を行います。

BlackBerry  10のNetworking は QNetwork モジュールを使います。BlackBerry 10ではトランスポートの指定を気にする必要は無いようです。 HTTP通信を行う場合、QNetworkAccessManager ハンドルを使い. get() や post()は , QNetworkRequest と非同期の QNetworkReplyを使います。

For example:

QUrl *url = new QUrl("http://www.iana.org/domains/example/");

    QNetworkAccessManager *manager = new QNetworkAccessManager(this);

    connect(manager, SIGNAL(finished(QNetworkReply*)),
    		this, SLOT(replyFinished(QNetworkReply*)));

    manager->get(QNetworkRequest(*url));

And then in your replyFinished slot:

void App::replyFinished(QNetworkReply* reply) {
	qDebug() <readAll();

	// Call deleteLater to make sure the reply gets cleaned up
	reply->deleteLater();
}

TCPレイヤでの通信は QTCPSocket や QTCPServer, UDPレイヤは UDPSocket , そしてFTP は QFtp といったライブラリが利用出来ます。

C/C++なので、ローレベルの cURL といった libraries も必要によって使えます。

C/C++ではハードウェアを制御するコードを一から記述することも出来そうですが、BlackBerry 10のCascadesではよく使うライブラリが色々と用意されているので、比較的簡単にコードが記述できそうです。

過去の記事:

コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。