javafx做的天气预报小程序:
数据来源于中央天象台提供的api 。处理的是Json数据,可以播报6天的天气。
天气的数据来源中央气象台. http://m.weather.com.cn/data/101200101.html 其中 101200101 为武汉的城市代码。通过这个网站获取json数据,然后解析json数据,提取相应的天气信息。
1. 软件只添加了几个城市,大家如果有好的方法能够将全国的城市(精确到县一级)都添加进去,希望提提意见。将全国的城市代码都加到CityList.XML文件中不是个好方法......
2. 另外,通过ip显示当前城市,然后显示当前城市的天气这个时灵时不灵(可能是我这网络的原因,获取ip的网站有时不能访问)。通过访问网站 http://61.4.185.48:81/g/ 得到本机访问的IP,根据此IP查询到城市ID。
效果图:
Json数据解析代码:
public Weather(String Cityid) throws IOException, NullPointerException {
// 解析本机ip地址
this.Ctiyid = Cityid;
// 连接中央气象台的API
URL url = new URL("http://m.weather.com.cn/data/" + Ctiyid + ".html");
conn