検索
特集

今後10年を支えるWindowsアプリの条件Windows Liveが魅せる次世代マッシュアップ(4/5 ページ)

Vistaの登場で知名度が上がるであろうWindowsガジェット。その中でもWindows Liveは、オンラインOSとしてMSの新たなプラットフォームとして位置付けられた。この記事では、Webページ作成の延長先上と考えられるそのテクニックを見せる。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

Web.Networkクラスを使った通信方法

 Web.Networkクラスを使って通信するには、Web.Network.createRequestメソッドを呼び出して、ネットワークリクエストオブジェクトを作成する。

 Web.Network.createRequestメソッドの書式は、「Windows LiveガジェットのAPIリファレンス(http://promotion.live.jp/livesdk/reference.htm)」に記載されている。リファレンスによると、書式は次の通りだ。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 続いて、実例を見てみよう。

 リスト3は、http://www.example.co.jp/MyData.xmlファイルを読み込み、そのXMLデータをパースし、Liveガジェットの内部に描画するという例だ。

 MyData.xmlは、リスト4に示す簡単なデータ構造だと想定する(リスト4に示したXMLデータは、UTF-8形式で記述してあるものとする)。

リスト3:Web.Networkクラスを使った例

リスト4:取得するXMLデータの例

 リスト3では、initializeのメソッド内で、次のようにして、http://www.example.co.jp/MyData.xmlを取得するためのネットワークレスポンスオブジェクトを作成している。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 第4引数には、ここでの場合「OnXmlDataRecived」という関数名を指定した(この関数名は任意の名前で問題ない)。そのため、受信が完了すると、OnXmlDataRecivedという関数が呼び出されることになる。

 実際に接続して受信するには、executeメソッドを呼び出す。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 ネットワークレスポンスオブジェクトにおける通信は非同期である。このため、executeメソッドの呼び出しはただちに完了し、次の行の処理へと移る。

 そして、受信が完了した時には、createRequestメソッドの第4引数に渡した関数――この例では、OnXmlDataReceived関数――が呼び出される(abortメソッドを呼び出すと、通信を取りやめることができる)。

 createRequestメソッドのenumFlags引数にDUPLICATEフラグを指定しない限り、ネットワークリクエストオブジェクトは、同じURLを指定した場合に、そして2回目以降は、再取得しない。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る