基于手机天气预报系统.docx
《基于手机天气预报系统.docx》由会员分享,可在线阅读,更多相关《基于手机天气预报系统.docx(18页珍藏版)》请在冰豆网上搜索。
基于手机天气预报系统
基于手机天气预报系统
目录
摘要
引言
1系统需求分析
1.1手机软件开发背景
1.2项目需求分析
2总体设计
2.1系统规划
2.2系统功能设计简介
2.3系统设计目标
3系统设计
3.1开发及运行环境
3.2数据库设计
4主要功能模块设计
4.1项目框架
4.2主要文件代码
4.3调试
5系统操作及步骤
6结论
附录及参考文献
摘要
自上世纪90年代以来手机发展到现在已经成为广大人民群众的日常使用的通讯工具,手机具有的功能也日趋完善。
我国的移动通讯功能同样得到了很大的提高,手机用户也可以选择开通GPRS网络服务,此服务大大的方便了人们对于手机上网的需求,从而带动了手机软件发展。
手机软件可以在安装在手机上的软件,完善原始系统的不足与个性化。
随着科技的发展,现在手机的功能也越来越多,越来越强大。
不是像过去的那么简单死板,目前发展到了可以和掌电脑相媲美.手机软件与电脑一样,下载手机软件时还要考虑你购买这一款手机所安装的系统来决定要下相对应的软件.目前手机主流系统有以下:
Symbian、Linux、ResearchinMotion、WindowsMobile.但是在2007年,苹果推出了运行自己软件的iPhone;Google宣布推出Android手机操作系统台。
引言
随着经济的发展和社会的进步,人们的出行更加的频繁,对于天气的关注更加强烈。
基于此种原因我们开发了一套手机天气预报软件系统,因为手机软件多种多样,我们本软件是基于S40手机系统以上以及各种更新版本,满足用户在开通的GPRS的手机上,通过选择日期,城市来获得天气、风力、风向、温度等信息。
基于手机的天气预报系统软件可以使用户对于各地的天气情况的实时掌握,极大的方便了用户的出行已经行程的安排,避免不必要的麻烦。
本次设计在现有普通手机的基础上,增加大气温度感应,以及大气数据处理,通过对大气中温度等关键要素的探测,配合大气数据处理,可以在手机上实现天气状况的实时报告和天气预报功能。
该系统数据主要依据为各地准确的天气资料,包括:
时间、温度、风力、等。
并且该系统客户端可以及时、准确地把数据转换成信息发送给服务器端,显示于手机界面,方便了解时时天气信息
1系统需求分析
1.1手机软件开发背景
手机发展到现在已经成为广大人民群众的日常使用的通讯工具,手机具有的功能也日趋完善。
我国的移动通讯功能同样得到了很大的提高,手机用户也可以选择开通GPRS网络服务,此服务大大的方便了人们对于手机上网的需求,从而带动了手机软件发展。
手机软件可以在安装在手机上的软件,完善原始系统的不足与个性化。
随着科技的发展,现在手机的功能也越来越多,越来越强大。
不是像过去的那么简单死板,目前发展到了可以和掌电脑相媲美.手机软件与电脑一样,本设计在现有普通手机的基础上,可以在手机上实现天气状况的实时报告和天气预报功能。
方便人们的出行和生活。
1.2项目需求分析
根据用户需求,分析得到此次开发的项目需求主要有以下几点:
1.2.1能够查询数据库中以后城市的天气情况。
1.2.2系统能通过手机查看并且显示天气数据。
1.2.3系统必须具备安全性、可靠性,独立性。
2总体设计
2.1系统规划
手机天气预报系统最初设计是由登陆界面、选择界面、查询界面、配置界面四个基本板块组成,最初规划系统各个模块功能如下:
登陆界面
初始界面即程序初始运行界面,包括手动输入城市名称、选择日期两大部分,同时在其选项中有各个界面的跳转以及程序退出选项可供手机用户选择。
选择界面
选择界面即为手机用户设置的十个常用城市名称的选择界面,用户可根据基本需要,直接选择城市初始值设定的十个城市进行直接查询天气预报功能。
查询界面
根据用户选择的或直接输入的城市,以及相对应的日期,通过手机开启GPRS开启线程链接数据库获得天气数据,进而直观的呈现在用户面前。
配置界面
介于考虑到手机型号和模式的不同,特设置了两款大众性手机模式平台,用于选择手机模拟系统,提供NOKIA和MOTOROLA两款模式,CMWAP和CMNET两种接入网端进行选择,一般用户可使用默认配置方式。
2.2系统功能结构
1登陆界面如下:
用emulator打开weather.jar文件运行程序手机模拟器上显示如下图:
2选择界面如下:
按手机左软键选项选择,选择菜单栏里面的查询选项,程序运行出预存的十个城市的选择界面如下图:
3配置界面如下:
当需要转换接入点网络选择的时候,按手机左软键,选择菜单栏里面的配置选项,出现网络配置界面,如下图:
4查询界面如下:
对已选择或已编辑的城市进行查询时,按手机左软键,选择菜单栏里面的查询选项,软件进行查询调用,接入互联网读取数据,如下图:
2.3设计目标
本系统是根据人们实际需求而开发的,完全能够实现外出人员通过手机对天气情况的的基本情况进行时时掌握,本系统主要可以满足以下要求:
1系统能及时城市天气信息查询方便、准确,数据存储安全可靠。
2系统界面设计美观,操作方便快捷。
3系统应用灵活,为每个用户提供相同的查询,多次单一查询可以简化。
4系统运行稳定,安全可靠。
3系统设计
3.1开发及运行环境
NetBean环境或VS2005环境或Lazarus环境
Java2StanddardEdition1.5.0(JDK1.5)环境
Nokia的第三方SDK
Nokias40themestudio2.1
3.2数据库设计
对于常用的十个全国大型城市进行保存在当地服务器中,当查询这其中的城市的时候可以直接选择即可,缩短时间方便快速。
简图如下:
对于其他城市名称信息在City.java文件中有存储。
3.3主要方法及步骤
3.3.1主要内容以及步骤:
1的WebService服务编程URL的Get请求,并提供解析码,用于返回天气信息。
2手机开发环境,安装SDK,编写HelloWorld来测试环境
3个模块进行编辑,编译
4编写软件界面
5设立城市选项,设立LRU淘汰算法。
6开启GPRS连接,开启线程
7设立进度条
8获取天气,解析信息
9对非本地天气进行存储,提供给下次查询
10封装并在手机上进行测试
3.3.2主要方法及技术
1手机界面的基本设计
2城市列表的LRU淘汰算法
3GPRS技术中的CMWAP和CMNET的穿透技术
4网络连接中的线程及进度条管理
5RMS本地数据库技术
6WebService的转化和解析
7eclipsesdk_win32封装技术
8手机软件字符集问题的解决
9XJad反编译技术
4主要模块
4.1项目框架
在NetBeansIDE6.5中建立Weather项目,命名为Weather,并为此项目建立相应的类,和驱动程序包等。
如下图:
4.2主要文件代码
4.2.1City.java文件
本文件是存储了可查询的城市名称列表,由于文件数据较多暂不列出。
4.2.2CityRecord.java文件
本文件是存放读出与写入的城市信息。
4.2.3CityWeather.java文件
本文件是登陆界面中选择需要查询城市信息文件,文件内有方法对查询城市判断是否为空,并对已查询城市信息直接写入常用查询城市信息列表中。
4.2.4NetConnectionWeather.java文件
本文件是将的WebService服务编程URL的Get请求,并保存手机查询的当地数据库,以本机固定IP进行链接,也是最为重要的一个步骤,其代码如下:
privatevoidgetWeather(StringCityCode){
HttpConnectionhc=null;
StringsHost="";
InputStreamsInputStream=null;
StringBufferbuffer=newStringBuffer();
WeatherInfoweatherInfo;
StringFURL="travesky/weatherresu.jsp?
CityCode="+CityCode;
try{
ofrmWait.update();
if(Fcmwap)//移动梦网连接
{
(hc=(HttpConnection)Connector.open("http:
//10.0.0.172/"+FURL,Connector.READ_WRITE,true)).setRequestProperty("X-Online-Host",sHost);
Strings=hc.getHeaderField("Content-Type");
ofrmWait.update();
if(s.startsWith("text/vnd.wap.wml")){
//重新发起一次请求
if(hc!
=null){
hc.close();
ofrmWait.update();
}
(hc=(HttpConnection)Connector.open("http:
//10.0.0.172/"+FURL)).setRequestProperty("X-Online-Host",sHost);
s=hc.getHeaderField("Content-Type");
if(s.startsWith("text/vnd.wap.wml")){
if(hc.getResponseCode()==403){
oCW.warning("错误信息","没有所需要的城市天气!
",oCW.frmMain);
}else{
oCW.warning("错误信息","cmwap网络发生变化,请下载最新版本!
",oCW.frmMain);
}
hc.close();
//return;
}
}
}else{
hc=(HttpConnection)Connector.open("http:
//"+sHost+"/"+FURL,Connector.READ_WRITE,true);
}
//hc.setRequestProperty("Accept","*/*");
ofrmWait.update();
intnStatus=hc.getResponseCode();
ofrmWait.update();
if(nStatus==HttpConnection.HTTP_OK){
sInputStream=hc.openInputStream();
ofrmWait.update();
intnChar;//单个字符处理
while((nChar=sInputStream.read())!
=-1){
while((nChar==13)||(nChar==10)){
nChar=sInputStream.read();
}
if(nChar==-1){
break;
}
weatherInfo=newWeatherInfo();
while(nChar!
=0x0f){
buffer.append((char)nChar);
nChar=sInputStream.read();
}
weatherInfo.setDetail(newString(buffer.toString().getBytes("iso-8859-1"),"utf-8"));
buffer.delete(0,buffer.length());
ofrmWait.update();
weathers.addElement(weatherInfo);
}
}elseif(nStatus==403){
oCW.warning("错误信息","没有所需要的城市天气!
",oCW.frmMain);
}else{
oCW.warning("错误信息","服务器返回结果不正确,请稍后再试!
",oCW.frmMain);
}
}catch(Exceptione){
oCW.warning("错误信息","读取网络时候错误\n\n"+e.getMessage(),oCW.frmMain);
}finally{
try{
if(sInputStream!
=null){
sInputStream.close();
}
if(hc!
=null){
hc.close();
}
}catch(Exceptione){
oCW.warning("错误信息","关闭连接时候错误\n\r"+e.getMessage(),oCW.frmMain);
}
//order.switchDisplayable(null,order.getListTicket());
}
}
4.2.5FrmWait.java文件:
本文件是页面跳转及服务器读取信息。
当选择查询的时候,调用FrmWait编译文件进行对天气数据的调用,同时对查询结果页面进行跳转,代码如下:
importjavax.microedition.lcdui.Form;
importjavax.microedition.lcdui.Gauge;
publicclassfrmWaitextendsForm{
privateGaugegauge;
publicfrmWait(){
super("从服务器获取数据");
gauge=newGauge("读取数据进行中——",false,10,0);
append(gauge);}
publicvoidupdate(){
gauge.setValue((gauge.getValue()+1)%gauge.getMaxValue());
}
}
4.2.6FrmSetup.java文件:
本文件为手机网络配置模式作出选择根据模拟环境所搭建的环境,软件所兼容2种手机模式,同时GPRS分为Cmwap和Cmnet等,在此对测试手机的内置模式以及互联网模式进行调用,从而划分网络选择,并为网络出现不兼容抛异常的情况做出了相应的跳转以及建议方法。
4.2.7FrmWeather.java文件
本文件是对查询界面中对已选择要查询的城市信息做出判断,是否报错。
4.2.8WeatherInfo.java文件
本文件是输出用户已经选择的查询城市的信息。
4.2.9CityStore.java文件
本文件写有用户常用查询的10个城市信息,并能讲用户说查询的其他城市信息直接写入常用查询城市信息列表中。
4.3调试
运行程序进行调试程序初始界面如图:
查询运行结果如图:
5系统操作及步骤
首先第一步打开软件进入登陆页面
第二步在城市栏中间输入所想查询的城市名
第三步在选择确定后,选择配置选项。
第四步选择“配置“,在下面窗口中,选择”cmnet“,因为在手机上面是”cmwap“,所以,我们这里的配置默认为了”cmwap“。
在电脑上运行就要作这一步。
在手机上运行不需要这一步。
第五步在第四步的基础上,“确定“,”查询“允许网络接入。
第六步最后得出要查询的城市天气信息。
结论
在开通的GPRS的手机上,通过选择日期,城市来获得天气、风力、风向、温度等信息,给人以出行参考。
由于GPRS流量费用较高,此系统能够将查询过的天气信息存放在本地,如果下次要查询,直接在本地数据库中查询。
此软件在MOTOROLAE2手机上运行无错误及乱码抛异常等现象,符合预期软件开发要求,符合简单实用原则,此次开发成功,可投入使用。
致谢:
本毕业设计论文是在我的指导老师XXX老师的亲切关怀和悉心指导下完成的。
X严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。
从课题的选择到项目的最终完成,XXX老师都始终给予我细心的指导和不懈的支持。
在此,我还要感谢在毕业设计上面对我作出指导的同学,是你们无私的帮忙才让我才能克服一个一个的困难和疑惑,直至本文的顺利完成。
特别感XXX同学,他对本课题做了不少工作,给予我不少的帮助。
在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无私的帮助,在这里请接受我诚挚的谢意!
最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!
我会在以后的工作学习中更加刻苦的努力,创造美好的未来!
参考文献:
1夏长虹,陈文博.工作流系统过程建模与应用生成环境研究.计算机工程,2003,29(5):
59-61
2牛军钰,赵宏,赵大哲.基于Petri网的工作流建模方法.控制与决策,1999,14(增刊):
521-525
3黄世秀,高飞,胡小华.基于工作流的电子政务系统.合肥工业大学学报(自然科学版),2004,27
(2):
140-143
4赵刚,杨宗凯.基于工作流和Web技术的OA系统设计.计算机工程与应用,2002.09:
235-238
5GAOChun-ming,XIAOWei,CHENYue-xin,LIZhu-chao.AEvaluationManagementInformationSystemBasedonWorkflow.JourNatScieHunanNormUni,Dec.2001;Vol.24No.4:
25-28
6《JavaMe核心技术与最佳实践》詹建飞
7《J2me程序开发实用案例从入门到精通》王晓
8《.NetCompactFramework移动开发指南》颜友宁
9《J2ME中文教程》
10《JSP数据库系统开发案例精选》人民邮电出版社明日科技王国辉、王易2006年5月
11《JSP数据库系统开发完全手册》人民邮电出版社明日科技王国辉、李文立、杨亮2006年3月
12《JSP工程应用与项目实践》机械工业出版社陈威、白伟明、李楠2005年2月