--- android/TrainInfo/src/dk/thoerup/traininfo/provider/XmlStationProvider.java 2009/10/02 11:28:54 383 +++ android/TrainInfo/src/dk/thoerup/traininfo/provider/XmlStationProvider.java 2010/02/01 16:52:52 574 @@ -1,6 +1,6 @@ package dk.thoerup.traininfo.provider; -import java.net.URI; + import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; @@ -10,7 +10,6 @@ import org.w3c.dom.NodeList; import android.location.Location; -import android.net.Uri; import android.util.Log; import dk.thoerup.traininfo.StationBean; import dk.thoerup.traininfo.util.DownloadUtil; @@ -29,13 +28,13 @@ @Override public boolean lookupStations(Location location) { - String url = XmlUtil.SERVICE_BASE + "/LocateStations?latitude=" + location.getLatitude() + "&longitude=" + location.getLongitude(); + String url = XmlUtil.SERVICE_BASE + "/LocateStations?latitude=" + (float)location.getLatitude() + "&longitude=" + (float)location.getLongitude(); Log.i("url", url); return lookupStationsWorker(url); } @Override - public boolean lookupStations(String name) { + public boolean lookupStationsByName(String name) { // String url = XmlUtil.SERVICE_BASE + "/LocateStations?name=" + Uri.encode(name); String url = ""; @@ -51,6 +50,16 @@ } + @Override + public boolean lookupStationsByIds(String ids) { + String url = ""; + url = XmlUtil.SERVICE_BASE + "/LocateStations?list=" + ids; + + Log.i("url", url); + return lookupStationsWorker(url); + } + + public boolean lookupStationsWorker(String url) { boolean success = false; @@ -93,13 +102,22 @@ station.setLatitude( Double.parseDouble(content) ); if (nodeName.equals("longitude")) - station.setLongitude( Double.parseDouble(content) ); - - if (nodeName.equals("stationcode")) - station.setCode(content); + station.setLongitude( Double.parseDouble(content) ); if (nodeName.equals("calcdist")) station.setDistance( (int) Double.parseDouble(content) ); + + if (nodeName.equals("address")) + station.setAddress( content ); + + if (nodeName.equals("regional")) + station.setRegional( Boolean.parseBoolean(content) ); + + if (nodeName.equals("strain")) + station.setSTrain( Boolean.parseBoolean(content) ); + + if (nodeName.equals("metro")) + station.setMetro( Boolean.parseBoolean(content) ); } stations.add(station);