Estoy intentando hacer una aplicación de clima!
Pegando códigos y dandole forma ya funciona bien dentro de la carpeta que contiene los AS.
El problema es que este .EXE generado depende exclusivamente de estos clases.
Mi pregunta es como hago para llame estas clases e incluso el XML donde está la traducción de las Apis de Yahoo Weather.
O sea que cualquiera baje este ejecutable y estire los AS desde mi Servidor.
Muchas gracias por la atención.
Este es el código...:
Código:
Es este pedazo el que tiene que ser transformado y llamado desde el servidor: //importamos las clases necesarias import com.yahoo.webapis.weather.WeatherService; import com.yahoo.webapis.weather.Weather; import com.yahoo.webapis.weather.events.WeatherErrorEvent; import com.yahoo.webapis.weather.events.WeatherResultEvent; import fl.data.DataProvider; //cramos el servicio var ws:WeatherService = new WeatherService(); //var w:Weather = new Weather(); //datos posibles recoger ///////////datos de geo localizacion //event.data.location.city -- nombre de la ciudad //event.data.location.country -- pais //event.data.location.latitude -- latitud //event.data.location.longitude -- longitud ///////////datos generales //event.data.language -- lenguaje del reporte //event.data.date -- Mon Oct 13 23:00:00 GMT-0300 2008 //event.data.timeToLive -- tiempo de actualizacion //event.data.units.distance -- unidad de distancia //event.data.units.speed -- unidad de velocidad //event.data.units.pressure -- unidad de presion //event.data.units.temperature -- unidad de temperatura ///////////datos actuales //event.data.current.temperature -- indica la temperatura actual //event.data.current.description -- descripcion del tiempo //event.data.current.imageURL -- url de la imagen //event.data.current.code -- estado del tiempo en referencia a su codigo //////////datos del viento //event.data.current.wind.chill -- temperatura del viento //event.data.current.wind.direction -- direccion del viento en grados segun el norte //event.data.current.wind.speed -- vlocidad segun event.data.units.speed //////////datos asmofericos //event.data.current.atmosphere.humidity -- humedad //event.data.current.atmosphere.pressure -- presion //event.data.current.atmosphere.rising -- diferencia de presion //event.data.current.atmosphere.visibility -- visibilidad en event.data.units.distance //////////datos astronomicos //event.data.current.astronomy.sunrise -- fecha, hora amanecer //event.data.current.astronomy.sunset -- fecha, hora atardecer //////////pronostico extendido //event.data.forecast -- devielve un array con el objeto ForecastConditions //event.data.forecast[x].code -- estado del tiempo en referencia a su codigo //event.data.forecast[x].date -- fecha completa //event.data.forecast[x].high -- temperatura max //event.data.forecast[x].low -- temperatura minima //event.data.forecast[x].imageURL -- url de la imagen //event.data.forecast[x].description -- descipcion //escuchador cuando recivimos los datos ws.addEventListener(WeatherResultEvent.WEATHER_LOADED, resultTiempo); //si hay un error al recibir los datos function xmlError(event:WeatherErrorEvent):void { //weather_txt.text = event.data.toString(); } //error al leer el xml ws.addEventListener(WeatherErrorEvent.XML_LOADING, xmlError); // //ACTION PARA ESTE EJEMPLO // var periodo:String; var codigoEstado:int; var miLoader:Loader = new Loader(); var miReq:URLRequest=new URLRequest(); var mes:Array; var dia:Array; var contImgGde:Sprite = new Sprite(); //estados del tiempo en español var xmlData:XML; var xmlLoader:URLLoader = new URLLoader(); var urlRequest:URLRequest = new URLRequest("clima-es.xml"); xmlLoader.load(urlRequest); xmlLoader.addEventListener(Event.COMPLETE, this.iniciarXML); var xmlList:XMLList = new XMLList(); function iniciarXML(e:Event):void { xmlData = new XML(xmlLoader.data); xmlList = XMLList(xmlData.clima); init(); } //datos para el combo var ciudades:Array = new Array({label:"Paraguay",data:"PAXX0001"},); var dp:DataProvider = new DataProvider(ciudades); cb.dataProvider=dp; cb.addEventListener(Event.CHANGE, cbSelect); function cbSelect(o:Event):void { ws.getWeather(cb.selectedItem.data, "metric"); } function init() { mes = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"); dia = new Array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado"); time_txt.autoSize = TextFieldAutoSize.LEFT ; contImgGde.y = time_txt.y+15; var defaud:Object = new Object(); defaud = cb.getItemAt(0); ws.getWeather(defaud.data, "metric"); formatFecha(); } function formatFecha() { var date:Date = new Date(); var minutos:String; if (date.getMinutes()<10) { minutos = "0"+String(date.getMinutes()); } else { minutos = String(date.getMinutes()); } if (date.getHours()<12) { periodo ="am"; } else { periodo ="pm"; } time_txt.text = dia[date.day]+" "+String(date.getDate() +" de "+mes[date.getMonth()]+" - "+date.getHours()+":"+minutos+" "+periodo); var contDay:int = date.day; switch (date.day) { case 5 : estado1_txt.text = dia[6]; estado2_txt.text = dia[0]; break; case 6 : estado1_txt.text = dia[0]; estado2_txt.text = dia[1]; break; default : estado1_txt.text = dia[date.day+1]; estado2_txt.text = dia[date.day+2]; } } function resultTiempo(event:WeatherResultEvent):void { codigoEstado = event.data.current.code; if (codigoEstado==0) { codigoEstado = 3200; temperatura_txt.text = ""; estado_txt.text = ""; dtosEx_txt.text =""; } else { temperatura_txt.text = event.data.current.temperature+"º"; estado_txt.text = xmlList.@value[codigoEstado]; dtosEx_txt.text = "Viento: "+event.data.current.wind.direction+" "+event.data.current.wind.speed+" "+event.data.units.speed+"\n"+"Humedad: "+event.data.current.atmosphere.humidity+"%"+"\n"+"Visibilidad: "+event.data.current.atmosphere.visibility+" "+event.data.units.distance+"\n"+"Presión atmosférica: "+event.data.current.atmosphere.pressure+" "+event.data.units.pressure; esttemp1_txt.text = event.data.forecast[0].high+"º "+ event.data.forecast[0].low+"º"; esttemp2_txt.text = event.data.forecast[1].high+"º "+ event.data.forecast[1].low+"º"; } var urlImagen:String = "imgactual/"+codigoEstado+".png"; miReq = new URLRequest(urlImagen); miLoader.load(miReq); contImgGde.addChild(miLoader); this.addChild(contImgGde); formatFecha(); }
//importamos las clases necesarias
import com.yahoo.webapis.weather.WeatherService;
import com.yahoo.webapis.weather.Weather;
import com.yahoo.webapis.weather.events.WeatherErrorEvent ;
import com.yahoo.webapis.weather.events.WeatherResultEven t;
import fl.data.DataProvider;
y Este....
//estados del tiempo en español
var xmlData:XML;
var xmlLoader:URLLoader = new URLLoader();
var urlRequest:URLRequest = new URLRequest("clima-es.xml");