免费的天气Web Service接口
2020-11-16 18:59
标签:android style blog http java color 免费的天气Web
Service接口 在android应用当中很多时候需要获取天气的信息,这里提供怎么获取天气信息: 1. http://www.ayandy.com/Service.asmx?wsdl 官网:http://www.ayandy.com 2.
http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 网站:http://www.webxml.com.cn/zh_cn/index.aspx ,此网站提供各种webservice接口 3.更多WS接口(天气预报,IP地址搜索,火车时刻表,汇率等等) 转至:http://developer.51cto.com/art/200908/147125.htm 在用网上的Web Service的接口的时候都要引入一个jar包: 下载地址 4.用android
的一个例子来获取天气数据:
程序一定要注意是否打开了联网的权限 MainActivity: 获取天气的帮助类: WeatherUtil.class: 源码下载:源码 免费的天气Web Service接口,搜素材,soscw.com 免费的天气Web Service接口 标签:android style blog http java color 原文地址:http://www.cnblogs.com/liangstudyhome/p/3700420.html 1 public class MainActivity extends Activity {
2
3 Button btn = null;
4
5 TextView text = null;
6
7 @Override
8 protected void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10 setContentView(R.layout.activity_main);
11
12 initView();
13
14 }
15
16 private void initView() {
17 final WeatherUtil weatherutil = new WeatherUtil();
18
19 btn = (Button) findViewById(R.id.btn);
20 text = (TextView) findViewById(R.id.weatherInfo);
21 btn.setOnClickListener(new Button.OnClickListener() {
22
23 @Override
24 public void onClick(View v) {
25 String weather = "";
26 int provinceCode = weatherutil.getProvinceCode("辽宁"); // 3119
27 int cityCode = weatherutil.getCityCode(provinceCode, "大连"); // 974
28 List
1 public class WeatherUtil {
2
3 private static String SERVICES_HOST = "www.webxml.com.cn";
4 private static String WEATHER_SERVICES_URL = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/";
5 private static String PROVINCE_CODE_URL = WEATHER_SERVICES_URL
6 + "getRegionProvince";
7 private static String CITY_CODE_URL = WEATHER_SERVICES_URL
8 + "getSupportCityString?theRegionCode=";
9 private static String WEATHER_QUERY_URL = WEATHER_SERVICES_URL
10 + "getWeather?theUserID=&theCityCode=";
11
12 public WeatherUtil() {
13 }
14
15 public static int getProvinceCode(String provinceName) {
16 Document document;
17 DocumentBuilderFactory documentBF = DocumentBuilderFactory
18 .newInstance();
19 documentBF.setNamespaceAware(true);
20 int provinceCode = 0;
21 try {
22 DocumentBuilder documentB = documentBF.newDocumentBuilder();
23 InputStream inputStream = getSoapInputStream(PROVINCE_CODE_URL); // 具体webService相关
24 document = documentB.parse(inputStream);
25 NodeList nodeList = document.getElementsByTagName("string"); // 具体webService相关
26 int len = nodeList.getLength();
27 for (int i = 0; i ) {
28 Node n = nodeList.item(i);
29 String result = n.getFirstChild().getNodeValue();
30 String[] address = result.split(",");
31 String pName = address[0];
32 String pCode = address[1];
33 if (pName.equalsIgnoreCase(provinceName)) {
34 provinceCode = Integer.parseInt(pCode);
35 }
36 }
37 inputStream.close();
38 } catch (DOMException e) {
39 e.printStackTrace();
40 } catch (ParserConfigurationException e) {
41 e.printStackTrace();
42 } catch (SAXException e) {
43 e.printStackTrace();
44 } catch (IOException e) {
45 e.printStackTrace();
46 }
47 return provinceCode;
48 }
49
50 public static int getCityCode(int provinceCode, String cityName) {
51 Document doc;
52 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
53 dbf.setNamespaceAware(true);
54 int cityCode = 0;
55 try {
56 DocumentBuilder db = dbf.newDocumentBuilder();
57 InputStream is = getSoapInputStream(CITY_CODE_URL + provinceCode); // 具体webService相关
58 doc = db.parse(is);
59 NodeList nl = doc.getElementsByTagName("string"); // 具体webService相关
60 int len = nl.getLength();
61 for (int i = 0; i ) {
62 Node n = nl.item(i);
63 String result = n.getFirstChild().getNodeValue();
64 String[] address = result.split(",");
65 String cName = address[0];
66 String cCode = address[1];
67 if (cName.equalsIgnoreCase(cityName)) {
68 cityCode = Integer.parseInt(cCode);
69 }
70 }
71 is.close();
72 } catch (DOMException e) {
73 e.printStackTrace();
74 } catch (ParserConfigurationException e) {
75 e.printStackTrace();
76 } catch (SAXException e) {
77 e.printStackTrace();
78 } catch (IOException e) {
79 e.printStackTrace();
80 }
81 return cityCode;
82 }
83
84 public static InputStream getSoapInputStream(String url) {
85 InputStream inputStream = null;
86 try {
87 URL urlObj = new URL(url);
88 URLConnection urlConn = urlObj.openConnection();
89 urlConn.setRequestProperty("Host", SERVICES_HOST); // 具体webService相关
90 urlConn.connect();
91 inputStream = urlConn.getInputStream();
92 } catch (MalformedURLException e) {
93 e.printStackTrace();
94 } catch (IOException e) {
95 e.printStackTrace();
96 }
97 return inputStream;
98 }
99
100 public static List
下一篇:mvc架构模式概念
文章标题:免费的天气Web Service接口
文章链接:http://soscw.com/index.php/essay/21678.html