[AIR] AIRからLivedoor Weather Web Serviceを利用するには

| トラックバック(0) |

天気予報情報を取得するには、お天気Webサービス仕様で定義されたURLに対してURLRequestを作成し、URLLoaderで読み込みます。

例えば、「明日の福岡県・久留米の天気」を取得する場合、Action Script 3(AS3)では、以下のように記述します。

private function hoge():void
{
    var url:String = "http://weather.livedoor.com/forecast/webservice/rest/v1" +
        "?city=113&day=tomorrow";
    var urlRequest:URLRequest = new URLRequest(url);
    var urlLoader:URLLoader = new URLLoader(urlRequest);
    
    urlLoader.addEventListener(Event.COMPLETE, onUrlLoaderComplete);
    urlLoader.load(urlRequest);
}

private function onUrlLoaderComplete(event:Event):void
{
	var urlLoader:URLLoader = event.currentTarget as URLLoader;
	var xml:XML = new XML(urlLoader.data);

	// コメントは、出力結果(参考)です
	trace(xml.title);	// "福岡県 久留米 - 明日の天気"
	trace(xml.telop);	// "晴れ"
	trace(xml.temperature.max.celsius); // "12"
	trace(xml.temperature.min.celsius);	// "2"
	trace(xml.image.url);	// "http://image.weather.livedoor.com/img/icon/1.gif"
}

URLLoaderによる読み込みが完了すると、URLLoader.dataにtextデータが格納されますので、XMLクラスのコンストラクタに渡して作成することで、XMLデータを得ることができます。

天気アイコンのURLは、xml.image.urlにありますので、mx:Image.sourceにセットすれば、天気アイコンを表示することができます。

※Weather Report AIR参照

トラックバック(0)

トラックバックURL: http://mt.adakoda.com/mt-tb.cgi/11

Android Advent Calendar 2011

2012年2月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29