天气预报代码分析与实现
2009-09-17 00:00:00 来源:WEB开发网在做网站中,遇到天气预报接口是避免不了的,天气预报的实现主要涉及到以下几个技术点:
正则表达式匹配从中央气象局的天气预报网页,这种方式下,固定城市实现比较简单,不同城市需要一个对照表,来完成这个映射工作
IP识别获取城市(本文实现方式)
利用WebService服务接口获取城市天气(本文实现方式)
已拉取的城市天气当日缓存(本文实现方式)
定义缓存:
Java代码
private static HashMap<String,JSONObject> hmCache = new HashMap();
缓存通过TimerTask定时清空前几天实现,代码如下:
Java代码
public static void cleanCache() {
if(isStart) return;
isStart = true;
TimerTask task = new TimerTask() {
public void run() {
Iterator it = hmCache.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
Object key = entry.getKey();
String today = DateTimeUtil.format(new Date(),"yyyyMMdd");
if(key.toString().indexOf(today)>=0){
it.remove();
hmCache.remove(key);
}
}
}
};
Timer timer = new Timer();
timer.schedule(task, Calendar.getInstance ().getTime(), 24*3600 * 1000);
}
更多精彩
赞助商链接