`
sheva.wen
  • 浏览: 39055 次
  • 性别: Icon_minigender_1
  • 来自: 呼和浩特
社区版块
存档分类
最新评论

一个Flex做的天气预报widget

    博客分类:
  • Flex
阅读更多

弄了一个天气预报的widget,有些心得在里面,拿出来分享。

最终的效果:

 

使用的技术:

Flex ,asp.net,flash

关于天气数据:

本人是在气象局工作的,但对于气象局的公众服务其实相当不满,怎奈自己是个小兵,能做的只是积极献言献策,试图改变“上面”的思维。就拿数据服务来说,部门内部不论软硬件环境都很不错,至少把天气预报通过某种途径(WebService,mashup,rss等)提供借口是没有问题的。在做这个widget是才发现,根本没有直接的接口可寻,翻了翻一些大站的天气服务,总算找到一个提供Json数据的(也许人家根本不是主动提供的),就不透露是那个站了smile

 

一些技术细节:

跨域访问数据问题

既然天气数据来自某网站,自然存在跨域问题,服务器不在你手上,自然就不是crossdomain.xml能解决的了。这个问题参考了noahgenius 关于使用asp.net作数据代理的文章,简单说就是使用自己的服务器将数据获取到,然后提供给客户端。

 

Flash的中文编码问题

这个问题有两部分,一个是单纯的中文显示问题,这个有好些方法,在initialize方法中添加“"flash.system.System.useCodePage=true”较为简单。另一个是flash生成连接url的中文编码问题,可以在要传递的中文参数(城市名称)上使用encodeURI方法就可以了。当然.net中也会涉及这个问题。

 

Flex处理Json数据的问题

Json这么新潮的数据格式,Adobe不会不考虑,提供了专门的类文件(我会防到附件里)来处理,com.adobe.serialization.json这是他的名称空间。使用方法参考岩屋的文章《Flex用JSON处理返回的数据》。

.net的WebClient缓存问题

如果每次客户端访问,服务器代理都会访问天气数据网站并下载数据,那绝对是可悲的。气象预报工作我是有一定了解的,中国的天气预报一般在北京时间8时会发布一次,包括24小时预报、48小时预报、72小时预报,下午4时会视上个预报周期后这12小时的情况,发布一次更正预报。我说上面的意思是说,其实天气预报信息一天24小时之内只会发布两次,那么最佳解决方案当然是缓存天气预报数据。我们现在是基于.net实现的,就说说.net的WebClient的缓存处理,这个你可以参考官方文档关于WebClient.CachePolicy 属性的描述。其实就是把WebClient的缓存策略(RequestCachePolicy )设置成Revalidate。

MSDN 写道
Revalidate 如果时间戳与服务器上的资源的时间戳相同,则使用资源的缓存副本满足请求;否则从服务器下载资源,将资源展示给调用方然后存储在缓存中。

 

这样服务器还是会到目标服务器上看看的,但只是去查看该文档的最后修改时间,如果没有更新,就不会获取整个数据实体。如果用Jakarta Commons

的HTTPClient的话,也是一样的道理。

  • forecast.net.rar (1.6 KB)
  • 描述: .net代理部分源码,webconfig里有玄机哦
  • 下载次数: 200
分享到:
评论
3 楼 yawen 2008-12-23  
,很不错啊!
2 楼 zhanghan 2008-12-03  
1 楼 duker 2008-01-09  

相关推荐

    网站或者web设计中做的天气预报显示

    在网站或Web设计中,实现天气预报显示是一个常见的功能,它可以为用户提供实时的气象信息,增强用户体验。这个功能通常涉及到前端开发技术,如HTML、CSS和JavaScript,以及可能的API接口调用。以下是对这个主题的...

    使用mate 的天气widget源代码

    在本文中,我们将深入探讨如何使用Mate框架创建一个天气小部件(Widget)。Mate是一个流行的ActionScript框架,它基于Flex技术,旨在提供一个可扩展、模块化的开发环境,以构建复杂的应用程序。通过学习Mate框架的源...

    WeatherApp_Flutter

    【标题】"WeatherApp_Flutter" 是一个基于Flutter技术开发的天气应用程序项目。Flutter是Google推出的一个开源跨平台UI框架,它允许开发者使用Dart语言编写代码,一次编写,多平台运行,包括iOS和Android。 【描述...

    kernel-devel-4.18.0-553.45.1.el8-10.x86-64.rpm

    Rocky Linux 8.10内核包

    Simulink中三阶单环多位量化Σ-Δ调制器的设计与实现-音频带ADC的应用(复现论文或解答问题,含详细可运行代码及解释)

    内容概要:本文档详细介绍了如何在Simulink中设计一个满足特定规格的音频带ADC(模数转换器)。首先选择了三阶单环多位量化Σ-Δ调制器作为设计方案,因为这种结构能在音频带宽内提供高噪声整形效果,并且多位量化可以降低量化噪声。接着,文档展示了具体的Simulink建模步骤,包括创建模型、添加各个组件如积分器、量化器、DAC反馈以及连接它们。此外,还进行了参数设计与计算,特别是过采样率和信噪比的估算,并引入了动态元件匹配技术来减少DAC的非线性误差。性能验证部分则通过理想和非理想的仿真实验评估了系统的稳定性和各项指标,最终证明所设计的ADC能够达到预期的技术标准。 适用人群:电子工程专业学生、从事数据转换器研究或开发的技术人员。 使用场景及目标:适用于希望深入了解Σ-Δ调制器的工作原理及其在音频带ADC应用中的具体实现方法的人群。目标是掌握如何利用MATLAB/Simulink工具进行复杂电路的设计与仿真。 其他说明:文中提供了详细的Matlab代码片段用于指导读者完成整个设计流程,同时附带了一些辅助函数帮助分析仿真结果。

    计算机课后习题.docx### 【计算机科学】研究生入学考试计算机组成原理专项题库设计:考研复习资源集成与优化

    内容概要:该题库专为研究生入学考试计算机组成原理科目设计,涵盖名校考研真题、经典教材课后习题、章节题库和模拟试题四大核心模块。名校考研真题精选多所知名高校的计算机组成原理科目及计算机联考真题,并提供详尽解析,帮助考生把握考研命题趋势与难度。经典教材课后习题包括白中英《计算机组成原理》(第5版)和唐朔飞《计算机组成原理》(第2版)的全部课后习题解答,这两部教材被众多名校列为考研指定参考书目。章节题库精选代表性考题,注重基础知识与重难点内容,帮助考生全面掌握考试大纲要求的知识点。模拟试题依据历年考研真题命题规律和热门考点,精心编制两套全真模拟试题,并附标准答案,帮助考生检验学习成果,评估应试能力。 适用人群:计划参加研究生入学考试并报考计算机组成原理科目的考生,尤其是需要系统复习和强化训练的学生。 使用场景及目标:①通过研读名校考研真题,考生可以准确把握考研命题趋势与难度,有效评估复习成效;②通过经典教材课后习题的练习,考生可以巩固基础知识,掌握解题技巧;③通过章节题库的系统练习,考生可以全面掌握考试大纲要求的各个知识点,为备考打下坚实基础;④通过模拟试题的测试,考生可以检验学习成果,评估应试能力,为正式考试做好充分准备。 其他说明:该题库不仅提供详细的题目解析,还涵盖了计算机组成原理的各个方面,包括计算机系统概述、数据表示与运算、存储器分层、指令系统、中央处理器、总线系统和输入输出系统等。考生在使用过程中应结合理论学习与实践操作,注重理解与应用,以提高应试能力和专业知识水平。

    __UNI__DB9970A__20250328141034.apk.1

    __UNI__DB9970A__20250328141034.apk.1

    minio-rsc-Rust资源

    rust for minio

    4-4-台区智能融合终端功能模块型式规范(试行).pdf

    国网台区终端最新规范

    《基于YOLOv8的化工管道焊缝缺陷检测系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    python源码-1个机器学习相关资源

    一个简单的机器学习代码示例,使用的是经典的鸢尾花(Iris)数据集,通过 Scikit-learn 库实现了一个简单的分类模型。这个代码可以帮助你入门机器学习中的分类任务。

    pyqt离线包,pyqt-tools离线包

    pyqt离线包,pyqt-tools离线包

    《基于YOLOv8的船舶机舱灭火系统状态监测系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    SQL常用日期和时间函数整理及使用示例

    SQL常用日期和时间函数整理及在sqlserver测试示例 主要包括 1.查询当前日期GETDATE 2.日期时间加减函数DATEADD 3 返回两个日期中指定的日期部分之间的差值DATEDIFF 4.日期格式转换CONVERT(VARCHAR(10),GETDATE(),120) 5.返回指定日期的年份数值 6.返回指定日期的月份数值 7.返回指定日期的天数数值

    GSDML-V2.3-Turck-BL20-E-GW-EN-20160524-010300.xml

    GSDML-V2.3-Turck-BL20_E_GW_EN-20160524-010300.xml

    T_CPCIF 0225-2022 多聚甲醛.docx

    T_CPCIF 0225-2022 多聚甲醛.docx

    《基于YOLOv8的智能仓储货物堆码倾斜预警系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    《基于YOLOv8的智能仓储货物堆码倾斜预警系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计

    蚕豆脱壳机设计.zip

    蚕豆脱壳机设计.zip

    附件2-2:台区智能融合终端入网专业检测单位授权委托书.docx

    台区终端电科院送检文档

Global site tag (gtag.js) - Google Analytics