基于web service和eclise lug-in的天气查询.doc

上传人:精*** 文档编号:839523 上传时间:2023-09-08 格式:DOC 页数:41 大小:1.18MB
下载 相关 举报
基于web service和eclise lug-in的天气查询.doc_第1页
第1页 / 共41页
基于web service和eclise lug-in的天气查询.doc_第2页
第2页 / 共41页
基于web service和eclise lug-in的天气查询.doc_第3页
第3页 / 共41页
基于web service和eclise lug-in的天气查询.doc_第4页
第4页 / 共41页
基于web service和eclise lug-in的天气查询.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、沈阳航空航天大学毕业设计(论文)摘 要天气查询系统是典型的基于web service和eclipse plug-in的查询系统。目前,天气预报已经成为汽车导航系统一个不可或缺的模块,为用户的出行提供着重要的参考数据。在实际项目中使用MoCCA的插件来模拟客户端发送异步的天气查询请求并将导航机返回的计算结果合理的显示在插件客户端界面上,使功能调试更加准确迅速直观,从而保障了开发质量,本系统是使用Eclipse来模拟MoCCA,用web service来模拟导航机的天气模块的接口,真实的还原了在实际项目中的需求分析和开发过程。其开发主要包括客户端界面开发,事件监听,事件响应,调用web servi

2、ce提供的API获取天气数据和插件的制作。本论文分析了天气查询在汽车导航系统中所应用的几个环节,并针对每个环节做出了详细的阐述和探讨。分别从界面设计,事件监听与响应,调用web service API获取天气数据,数据处理,插件制作等几个部分详细地讲述了系统开发的具体步骤和整个过程,介绍了系统开发用到的SWT、web service技术、eclipse plug-in技术,eclipse编程工具和Java编程语言并对模块的功能进行了具体分析和详细设计。本系统主要功能包括了通过制作的eclipse插件,显示出利用SWT制作的界面,进行国内天气查询时,通过选择的省份和城市,正确的显示图片和文字,进

3、行国外天气查询时,通过选择的国家和城市,正确的显示图片和文字。关键词:web service;plug-in;API;天气查询AbstractWeather Forecast System is a typical query system which based on web service and eclipse plug-in. Currently, the Weather Forecast has become an indispensable module of vehicle navigation system, it provides users an important tra

4、vel reference. In practical projects we use MoCCA to simulate that the client sends request of asynchronous query and shows the result which the navigation returns on the plug-in client, so that it make debugs in features more accurate, rapid and visual, and it protects the quality of development, T

5、he Weather Forecast System is that using Eclipse to simulate MoCCA, using web service to simulate the weather module interface of the navigation, it really restores the requirement analysis and the process of development of the practical project. The development of the system include that the develo

6、pment of client interface, event listening, event response, and the production of plug-in which calls the web service API to get weather data. The thesis analyzes the several sessions of Weather Forecast in the navigation system and discusses each session in details. It tells the specific steps of s

7、ystem development and the whole process from interface design, event listening, event response, how to call the web service API to get weather data, data processing and production of plug-in and so on. It introduces the SWT, web service technology, eclipse plug-in technology what it uses, eclipse pr

8、ogramming tools and Java programming language and it analyzes and designs the function of the modules. The functions of the system include: using eclipse plug-in to show the interface which is made by SWT, when query the national weather, it can show correct pictures and texts by selecting the provi

9、nce and city, when query the foreign weather, it can show correct pictures and texts by selecting the country and city.Keywords: web service; plug-in; API; weather search目 录1 引言11.1 本课题的研究意义及背景11.2 本论文的目的及设计要求21.2.1 本论文的目的21.2.2 设计要求22 研究现状及设计目标32.1 天气查询系统的优点32.2 现行研究存在的问题及解决办法32.2.1 现行研究存在的问题32.2.2

10、 解决办法42.3 本课题要达到的设计目标53 关键问题及分析63.1 研究设计中的关键问题63.1.1 eclipse plug-in63.1.2 SWT/JFace63.1.3 Web Service63.2 采用的关键技术及理论73.2.1 eclipse plug-in技术73.2.2 SWT/JFace技术73.2.3 web service技术74 需求分析94.1 功能需求94.2 系统流程分析94.3 可行性分析104.3.1 运行可行性104.3.2 技术可行性114.3.3 经济可行性114.4 系统的开发环境114.4.1 硬件环境114.4.2 软件环境115 系统设计

11、125.1 系统体系结构125.2 系统功能划分125.2.1 数据结构设计125.2.2 采用SWT实现UI135.2.3 获取web service API135.2.4 自动获取IP地址来源135.2.5 获取省份信息145.2.6 获取国家信息145.2.7 根据选择的省份/国家获取其对应的城市列表145.2.8 根据IP地址来源选择省份和城市145.2.9 查询指定城市的天气预报信息145.2.10 根据查询结果正确显示图片和文字信息155.2.11 将实现好的天气预报查询系统制作成一个eclipse插件166 系统实现及测试176.1 系统实现176.1.1 UI界面的实现176.

12、1.2 国家/省份和城市信息显示的实现(以国内天气查询为例)206.1.3 根据IP地址来源默认选取省份和城市226.1.4 国内/国外天气查询的实现246.1.5 eclipse插件的实现266.2 系统测试286.2.1 测试实例的研究与选择286.2.2 测试环境与测试条件286.2.3 实例测试306.2.4 测试过程中的其他问题317 结论与展望35参考文献36致 谢37IV沈阳航空航天大学毕业设计(论文)1 引言汽车电子己被公认为是未来几年新的产业增长点,甚至是带动其他相关产业发展的一个亮点。而作为汽车电子中重要一个分支的“汽车导航”也随着汽车电子的火热而呈喷薄之势。由于汽车导航系

13、统的广泛应用,目前,天气预报已经成为汽车导航系统一个不可或缺的模块。本章主要介绍了本课题的研究意义及背景,以及本论文的目的和设计要求。1.1 本课题的研究意义及背景天气预报指导人们生产生活的意义越来越显得重要。穿衣、出行、办事等,人们已经不能局限于一天一次简短的天气预报,他们需要的是随时随地获得及时、全面、详细的气象资讯。在时间上,人们希望得到更新更快更及时地信息服务,甚至是实时的气象服务,例如一些灾害性天气的预警和跟踪。当天气成为人们生产生活的一个重要影响因素时,能够随时获取天气资讯的指导变得越来越有价值了。不同人群对于天气资讯的关注点也不同。以往那种大一统的天气预报,人们必须自己从中拣选出

14、对其来说有价值的信息,有时甚至还需具备一定的气象数据的分析能力。而现在越来越细的分类,使人们可以一目了然的获得气象指导,例如农业天气预报为农业生产提供指导,外出旅游的人会关注旅游景点天气预报,还有各种气象指数预报直接为人们生活的方方面面提供参考等。随着社会生活质量的不断提高,中国汽车工业蓬勃发展,汽车导航系统得到了广泛的应用,并且天气预报已经成为汽车导航系统一个不可或缺的模块,在实际项目中使用MoCCA的插件来模拟客户端发送异步的天气查询请求并将导航机返回的计算结果合理的显示在插件客户端界面上,使功能调试更加准确迅速直观,从而保障了开发质量,本系统是使用Eclipse 来模拟MoCCA,用we

15、b service来模拟导航机的天气模块的接口,真实的还原了在实际项目中的需求分析和开发过程。汽车导航系统中的天气预报能够为人们提供一段时期内气候变化的各种数据,方便驾车用户及时的掌握天气情况,为人们制定出行计划提供参考。1.2 本论文的目的及设计要求1.2.1 本论文的目的本论文的目的是分析天气查询系统在汽车导航系统中所应用的几个重要环节,并针对每个环节做出详细的阐述和探讨。分别从界面设计、事件监听与响应、调用web service API获取天气数据、数据处理、插件制作等几个部分对系统开发的具体步骤和整个过程进行详细地阐述,介绍系统开发用到的SWT、web service技术、eclips

16、e plug-in技术,eclipse编程工具和Java编程语言,并对各模块的分析过程和详细设计过程等进行详细论述。1.2.2 设计要求基本要求:(1) 使用eclipse插件技术,将系统最终实现成插件;(2) 使用SWT或JFace实现UI,要求布局合理,方便用户使用;(3) 通过web service技术能够获取国内省份信息;(4) 根据选择的省份,系统能够自动显示出与其对应的城市信息;(5) 能够查询到指定城市的天气预报信息;(6) 根据查询结果正确显示相关文字以及图片信息;(7) 代码结构合理,遵循编码规范并且要有较高的容错性。较高要求:(1) 系统启动时,能够自动获取IP地址来源;(

17、2) 能够根据IP地址来源默认选取省份和城市。2 研究现状及设计目标本章主要对天气查询系统的优点进行介绍,并对现行研究存在的问题及解决办法进行了详细的分析和说明。天气查询系统的总体设计目标是制作出采用web service技术通过连接web服务提供商的服务器,来获取实时和未来的天气情况的插件,提醒人们注意天气变化,给人们制定出行计划提供参考。2.1 天气查询系统的优点天气查询系统通过网络连接到web service服务的提供商的服务器获取天气信息,提供用户实时天气,未来5天的天气预报,以及当日生活指数等信息的查询,方便、快捷,实时,准确。在汽车导航系统中应用天气查询系统,可使驾车用户及时,方便

18、,快捷的掌握实时天气情况,为用户制定出行计划提供详细的参考。2.2 现行研究存在的问题及解决办法2.2.1 现行研究存在的问题1.SWT中系统资源的管理SWT是用Java开发的,Java语言的一大优势就是JVM的“垃圾回收机制”,程序员通常不用理会变量的释放,内存的回收等问题。但是对SWT而言,SWT并没采用JVM的垃圾回收机制去处理操作系统的资源回收问题,一个关键的因素是因为JVM的垃圾回收机制是不可控的,也就是说程序员不能知道,也不可能做到在某一时刻让JVM回收资源!这对系统资源的处理是致命的,试想在一个循环语句中去查看数万张图片,常规的处理方式是每次调入一张,查看,然后就立即释放该图片资

19、源,而后在循环调入下一张图片,这对操作系统而言,任何时刻程序占用的仅仅是一张图片的资源。但如果这个过程完全交给JVM去处理,也许会是在循环语句结束后,JVM才会去释放图片资源,其结果可能是程序还没有运行结束,操作系统已经宕掉。2.SWT线程问题在任何操作平台的GUI系统中,对构件或一些图形API的访问操作都要被严格同步并串行化。在一个图形界面中的按键构件可被设成可用状态(enable)或禁用状态(disable),正常的处理方式是,用户对按键状态设置操作都要被放入到GUI系统的事件处理队列中,这意味着访问操作被串行化;然后依次处理,这意味着访问操作被同步。当按键可用状态的设置函数还没有执行结束

20、的时候,程序就希望再设置该按键为禁用状态,势必会引起冲突。实际上,这种操作在任何GUI系统都会触发异常。Java语言本身就提供了多线程机制,这种机制对GUI编程来说是不利的,它不能保证图形构件操作的同步与串行化。3.程序导出后无法运行或无法导出普通的java项目配置第三方jar包,都是直接配置Build-Path的(实际上是修改了项目下的.class-path文件),但是在插件的项目中这样是不能运行的。2.2.2 解决办法1.SWT中系统资源的管理对于SWT,只需了解两条简单的“黄金”法则就可以放心的使用系统资源!第一条是“谁占用,谁释放”,第二条是“父构件被销毁,子构件也同时被销毁”。第一条

21、原则是一个无任何例外的原则,只要程序调用了系统资源类的构造函数,程序就应该关心在某一时刻要释放这个系统资源。对于第二个原则,是指如果程序调用某一构件的dispose()方法,那么所有这个构件的子构件也会被自动调用dispose()方法而销毁。通常这里指的子构件与父构件的关系是在调用构件的构造函数时形成的。2.SWT线程问题SWT采用了一种简单而直接的方式去适应本地GUI系统对线程的要求:在SWT中,通常存在一个被称为“用户线程”的唯一线程,只有在这个线程中才能调用对构件或某些图形API的访问操作。如果在非用户线程中程序直接调用这些访问操作,那么SWTExcepiton异常会被抛出。但是SWT也

22、在*.widget.Display类中提供了两个方法可以间接的在非用户线程的进行图形构件的访问操作,这是通过的syncExec(Runnable)和asyncExec(Runnable)这两个方法去实现的。3. 程序导出后无法运行或无法导出在插件项目中,不仅需要修改项目下的.class-path文件,而且还需要修改MANIFEST.MF文件。2.3 本课题要达到的设计目标本系统最终达到的设计目标是一个eclipse 插件,把此插件放到eclipse安装目录下的plugins文件夹下,运行eclipse,当eclipse启动后,会在eclipse的菜单上显示出此插件菜单,在工具栏上会显示此插件的

23、图标,点击插件菜单或图标,启动天气查询系统,用户通过在界面上的操作,进行国内外的天气预报查询。3 关键问题及分析本章详细论述了在基于web service和eclipse plug-in的天气查询系统研究设计中的关键问题,同时对在开发过程中所采用的关键技术及理论进行了介绍。3.1 研究设计中的关键问题在研究设计中,还存在着诸多有待解决的问题与困难,会用到许多以前未学过的难点去学习与攻破。3.1.1 eclipse plug-in利用eclipse创建Plug-in Project,选择Hello World模版进行创建,通过更改配置文件,添加依赖包,导出等一系列流程操作,最终将天气查询系统制作

24、程一个插件。3.1.2 SWT/JFace本系统主要采用Eclipse SWT进行开发,利用SWT中的Label类,Combo类,Display类,Shell类,Group类,Image类,Button类等进行客户端界面的开发,利用这些类中的方法进行界面样式的设计和布局,使用Combo类和Button类中的addSelectionListener()方法添加监听。3.1.3 Web Service创建web service client工程,在弹出的对话框中输入web service服务地址 service API,输入 service API。3.2 采用的关键技术及理论3.2.1 ecli

25、pse plug-in技术eclipse插件技术,由于本系统最终要做成插件,所以采用此技术,可以方便的制作出eclipse 插件。3.2.2 SWT/JFace技术SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。SWT本身仅仅是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面 API。或许是无心插柳,或是有意为之,至今为止,SWT无论是在性能和外观上,都超越了SUN公司提供的AWT和SWING。目前

26、SWT已经十分稳定。这里指的稳定应该包含两层意思: 一是指性能上的稳定,其中的关键是源于SWT的设计理念。SWT最大化了操作系统的图形构件API,就是说只要操作系统提供了相应图形的构件,那么SWT只是简单应用JNI技术调用它们,只有那些操作系统中不提供的构件,SWT才自己去做一个模拟的实现。可以看出SWT的性能上的稳定大多时候取决于相应操作系统图形构件的稳定性。 另一个稳定是指SWT API包中的类、方法的名称和结构已经少有改变,程序员不用担心由于Eclipse组织开发进度很快(Eclipse IDE每天都会有一个Nightly版本的发布),而导致自己的程序代码变化过大。从一个版本的SWT更新

27、至另一版本,通常只需要简单将SWT包换掉就可以了。JFace与SWT的关系就好比Microsoft的MFC与SDK的关系。3.2.3 web service技术web service是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务。各应用程序通过网络协议和规定的一些标准数据格式(Ht

28、tp,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。在构建和使用Web Service时,主要用到以下几个关键的技术和规则:1.XML可扩展标记语言(Extensible Markup Language)与HTML一样,都是标准通用标记语言(Standard Generalized Markup Language)。XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力

29、工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。2.SOAP 简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。3.WSDLWSDL是 Web Services Desc

30、ription Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。为用户提供详细的接口说明书。4.UDDI(Universal Description, Discovery and Integration)UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。4 需求分析本章主要对天气查询系统的功能需求,业务流程,运行可行性,技术可行性,经济可行性进行了详细的分析,并对系统

31、的开发环境,包括硬件环境和软件环境进行了详细的介绍。4.1 功能需求通过对题目要求的分析,以及对整个系统的理解,分别从界面设计,IP地址查询,事件监听与响应,调用web service API获取天气数据,数据处理,插件制作等方法全面的分析,本系统将实现如下功能:(1) 采用SWT实现UI界面;(2) 使用web service技术获取省份列表;(3) 根据选择的国内省份能够正确的获取城市列表;(4) 自动获取IP地址来源;(5) 根据IP地址来源默认选取省份和城市;(6) 使用web service技术获取国家列表;(7) 根据选择的国家能够正确的获取城市列表;(8) 能够查询到指定城市的天

32、气预报信息;(9) 根据查询结果能够正确的显示图片和文字信息;(10) 采用eclipse插件技术实现系统的启动。4.2 系统流程分析系统启动后默认显示国内天气查询界面,系统自动加载国内省份和城市的信息,然后通过IP地址获取来源,由系统自动默认选取IP地址来源的省份和城市,也可手动选择其他省份,选择省份后,系统自动加载与此省份对应的城市,之后可以手动选择城市,点击查询按钮,系统将响应事件请求,获取天气信息,并将查询结果显示在界面上,系统流程图如图4.1所示。图4.1 系统流程图4.3 可行性分析4.3.1 运行可行性本系统完成形式为eclipse插件,将制作完成的插件放入eclipse的安装目

33、录中plugins文件夹中,启动eclipse,点击菜单或工具栏中的天气查询系统的图标即可运行本系统。4.3.2 技术可行性本天气查询系统在windows 7环境下进行开发,采用SWT,Web Service技术,eclipse plug-in技术。通过SWT开发包,简单、跨平台、可靠等这些Java语言本身所具有的优点能够很好融合到图形界面的应用程序开发中去,Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。通过web service提供的API可以方便的获取我们需要的信息。使用eclipse plug-in可以实现ecl

34、ipse功能的扩充。4.3.3 经济可行性在时间上,人们希望得到更新更快更及时地信息服务,甚至是实时的气象服务,例如一些灾害性天气的预警和跟踪。当天气成为人们生产生活的一个重要影响因素时,能够随时获取天气资讯的指导变得越来越有价值。天气预报也已经成为汽车导航系统一个不可或缺的模块,将会带来非常美好的前景。4.4 系统的开发环境4.4.1 硬件环境硬件环境使用14.0寸HD LED显示器, AMD Turion(tm) X2 technology RM-75 2.20GHZ处理器,4.00GB内存,ATI Mobility Radeon(tm) HD 4570显卡,500GB硬盘。4.4.2 软

35、件环境软件环境使用windows7系统,开发工具使用eclipse3.6,开发语言使用java。5 系统设计5.1 系统体系结构本系统加载省份城市信息,国家城市信息,以及点击查询按钮进行天气查询时都会向服务器发送web service请求,服务器端接收到客户端发送的web service请求后,会在服务器端的数据库中进行查询,数据库将查询结果返回给服务器端,之后服务器端向客服端发送web service服务响应,并将查询结果返回给客户端。系统体系结构如图5.1。图5.1 系统体系结构5.2 系统功能划分5.2.1 数据结构设计 本系统调用web service API中方法,这些方法中获取到的

36、数据采用xml进行存储,之后采用sax解析等方式对返回的xml进行解析,将最终的数据存储到String数组中作为方法的返回值返回,返回的数据采用String数组进行存储,通过其数组下标或使用for循环进行数据的访问和输出。天气预报数据中的图片数据设计为大图片和小图片两种,大图片与小图片放在不同的文件夹中,大图片用于当天天气中的图片显示,小图片用于未来天气中的图片显示。为实现天气预报数据中的图片显示设计一个枚举类和一个返回图片实例的方法,通过不同的枚举值实现不同路径的获取,通过返回图片实例的方法,返回图片实例化对象。省份信息和城市信息采用String数组和HashMap进行存储,以实现选择省份即

37、可加载出响应的城市的功能。国家和城市的信息也采用String数组和HashMap进行存储。将国内天气查询的实现和国外天气查询的实现分别设计在两个类中,在控制插件生命周期的类中实现对国内天气查询和国外天气查询的调用。5.2.2 采用SWT实现UI 利用SWT编写程序界面,对控件进行合理布局,实现UI。UI界面中主要对Label(标签)、Combo(组合框)、Button(按钮),Group(分组框)进行布局和设计,使用Display获取显示器环境,使用Shell创建窗口,使用Image创建图片,使用Combo类和Button类中的addSelectionListener(SelectionLis

38、tener listener)方法进行事件监听。5.2.3 获取web service API利用eclipse创建Java Project,并在此项目上创建Web Service Client,在出现的对话框中的Service Definition文本框中输入web服务地址 service API。在此项目上创建Web Service Client,在出现的对话框中的Service Definition文本框中输入 WebService.asmx?wsdl,之后点击下一步,eclipse解析此文件后会在本地生成用于IP地来源搜索的web service API。5.2.4 自动获取IP地址来

39、源通过调用web service API中的getGeoIPContext()方法,将会获取到本机的IP地址,以及IP地址的来源,其具体信息包括省份,城市,运营商等信息,本系统只需要其中的省份和城市信息两部分。5.2.5 获取省份信息通过调用web service API中的getRegionProvince()方法,发送web service请求,能够以String数组的形式返回所有的省份信息,返回的省份信息包括省份名称和省份编号,对省份信息进行处理,将省份名称显示在界面上,通过省份编号可以获取其对应的城市信息。5.2.6 获取国家信息通过调用web service API中的getRegi

40、onCountry ()方法,发送web service请求,能够以数组的形式返回所有支持的国家信息,返回的国家信息包括国家名称和省份国家编号,对国家信息进行处理后,将国家名称显示在界面上,通过国家编号可以获取其对应的城市信息。5.2.7 根据选择的省份/国家获取其对应的城市列表通过调用web service API中的getSupportCityString(String theRegionCode)方法,发送web sevice请求,将省份/国家的编号作为方法的参数发送给服务器,服务器根据收到的省份/国家的编号进行查询并返回该省份/国家对应的城市信息,返回的城市信息包括城市名称和城市编号,

41、对城市信息进行处理后,将城市名称显示在界面上。5.2.8 根据IP地址来源选择省份和城市将通过IP地址获取到的省份和城市的信息,分别存放在两个String类型的变量中,将省份与getRegionProvince()方法返回的String数组中的省份名称进行比较,如果相同则在界面上显示此省份,如果不相同则默认显示String数组中第一个省份名称,将城市与getSupportCityString(String theRegionCode)方法返回的String数组中与其省份对应的城市名称进行比较,如果相同则在界面上显示此城市,如果不同则默认显示与此省份对应的城市中第一个城市名称。5.2.9 查询指

42、定城市的天气预报信息调用web service API中的public String getWeather(String theCityCode,String theUserID)方法,参数theCityCode为城市的编号,theUserID表示web service注册用户的编号,此参数可传入null,根据传入的参数,发送web service请求,将城市的编号发送给服务器,服务器根据城市编号查询此城市的天气预报信息,并将查询到的数据返回给客户端。5.2.10 根据查询结果正确显示图片和文字信息客户端对服务器端返回的数据进行处理,返回的信息包括城市名称,日期,当期天气状况(包括天气图片的名

43、称,气温,风向/风力,湿度,气压,空气质量,紫外线强度),未来5天的天气信息(包括日期,天气,气温,天气图片名称,风向等信息),城市指数(包括穿衣指数,感冒指数,运动指数,洗车指数,晾晒指数,旅游指数,路况指数,舒适度指数,空气污染指数,紫外线指数)等信息。由于方法的返回值是String数组类型,所以,可以通过数组下标,对下面的数据进行拆分(通过编写一段简单的代码在控制台上打印出天气信息来分析数据格式,然后对数据进行处理和拆分),将图片信息和文件信息正确显示在界面上。数据格式如图5.1。图5.2 返回的数据格式5.2.11 将实现好的天气预报查询系统制作成一个eclipse插件创建Plug-i

44、n Project,选择Hello World模版进行创建,将要显示在工具栏上的图片放入到icons文件中,创建images文件夹,将需要加载的图片资源(显示天气的图片)存放在此文件夹下。创建lib文件夹,在此文件夹中添加依赖库,为了使用相对路径的方式导入需要的库,修改.classpath文件,将中的内容修改为的形式,并在META-INF下的MANIFEST.MF文件中添加Bundle-ClassPath:lib/axis.jar,lib/jaxrpc.jar,lib/commons-discovery-0.2.jar,lib/saaj.jar,lib/javax.wsdl_1.6.2.v20

45、1005080631.jar,lib/mons.logging_1.0.4.v201005080501.jar,添加这段代码的作用是使插件运行时能够加载所需要的库。修改plugin.xml文件,修改其菜单的显示名称和工具栏显示的图片,最后在项目上点击右键,选择Deployale plug-ins and fragments,将本系统制作成为eclipse插件。6 系统实现及测试6.1 系统实现6.1.1 UI界面的实现1.国内天气查询界面查询国内天气界面中,主要对标签(Label)、组合框(Combo),按钮(Button),Group(分组框)进行布局,使用setBounds(int x,

46、int y, int width, int height)设置控件显示的位置,使用setForeground(Color color)方法设置前景色。Label用于显示文字和图片,文字的显示使用setText(String string)方法图片的显示使用setImage(Image image),图片类(Image)的实例化对象使用 Image(Device device, InputStream stream)进行创建,device参数传入Display类的实例化对象,stream表示要显示的图片以输入流的方式创建。Combo对象使用构造方法Combo(Composite parent, int style)进行创建,本系统采用SWT.READ_ONLY样式创建组合框(Combo)对象,使用setItems(String items)方法设置Combo对象中要显示的内容。界面的上端显示省份的标签,省份的组合框(用于显示省份), 城市的标签,城市的组合框(用于显示所有城市),以及查询按钮。之后使用3个分组框,将实时天气,未来5天天气,以及城市指数划分为3部分。实时天气中使用标签显示当前天气状况的图片,以及当日天气实况(包括气温,风向/风力,湿度,气压,空气质量,紫外线强度),未来5天天气预报中

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922