Привет! Давайте я сегодня вам покажу как легко и просто можно достать данные о погоде для своего приложения на Java. Я остановился на worldweatheronline.com API. Он отдает данные в XML, причем эти данные даже в бесплатной версии довольно подробны. При регистрации аккаунта разработчика нам предоставляется строка с ключом, который позволяет нас идентифицировать. Дальше всё довольно просто:
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 |
String line = null; String retLine = null; String point = null; try{ String addr= new String("http://api.worldweatheronline.com/free/v2/weather.ashx?"); if (WeatherClass.queryCity.equals(new String (""))) point = new String ("Irkutsk"); //поставим город для запроса String key = new String("f862a1983b282gg12932b181b3b38"); //тот самый ключик String query = new String(addr+"key="+key+"&q="+point); //сформируем строку запроса URL url = new URL(query); //зададим полный урл HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.connect(); BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("output.xml"))); //считаем прилетевшие данные в xml while ((line = br.readLine())!= null){ retLine = line; bw.write((String) line); } System.out.println(line); br.close(); bw.close(); }catch(MalformedURLException me){ }catch(IOException ioe){ System.err.println("Error creating connection! "); ioe.printStackTrace(); } |
[…]