admin 管理员组

文章数量: 887021


2023年12月18日发(作者:二郎我已经爱上你)

软件工程课程设计报告

◆课题名称: 天气预报系统的分析与设计

◆任课教师: XXXX

◆学院:XXXXXX学院

◆专业:XXXXX

◆班级:XXXXX

日期:2017年5月2日

1

目录

1. 项目概述 ............................................................................................................................................. 4

1.1背景 ........................................................................................................................................... 4

1.2各类天气预报系统优缺点分析 ............................................................................................... 4

1.3 解决问题及好处 ...................................................................................................................... 4

1.4 研究内容 ................................................................................................................................ 4

2.需求分析 ............................................................................................................................................... 5

2.1用户现状介绍 ........................................................................................................................... 5

2.2 天气系统功能图 ...................................................................................................................... 5

2.3功能描述 ................................................................................................................................... 5

2.4参与者描述 ............................................................................................................................... 6

2.5用例图 ....................................................................................................................................... 6

2.6外部接口需求 ........................................................................................................................... 6

2.7性能需求 ................................................................................................................................... 6

4G内存以上,CPU为inter的电脑 ..................................................................................... 7

2.8系统质量需求 ........................................................................................................................... 7

3.1文档编写目的 ........................................................................................................................... 7

3.2背景 ........................................................................................................................................... 7

3.3设计工具 ................................................................................................................................... 7

3.4可行性分析 ............................................................................................................................... 7

技术可行性........................................................................................................................ 7

经济可行性........................................................................................................................ 8

4.1城市列表模块系统设计 ........................................................................................................... 8

4.1.1城市列表模块功能详细描述 ...................................................................................... 8

4.1.2城市列表模块用户图 .................................................................................................. 8

4.1.3城市列表模块用例图 .................................................................................................. 9

4.2天气信息模块概要设计 ........................................................................................................... 9

4.2.1天气信息模块功能详细描述 ...................................................................................... 9

4.2.2天气信息模块用户图 ................................................................................................ 10

4.2.3天气信息模块用例图 ................................................................................................ 10

4.3用户管理模块概要设计 ......................................................................................................... 10

4.3.1用户管理模块功能详细描述 ..................................................................................... 10

4.3.2用户管理模块用户图 ................................................................................................. 11

4.3.3用户管理模块用例图 ................................................................................................. 11

4.4后台服务模块概要设计 ......................................................................................................... 12

4.4.1后台服务模块功能详细描述 .................................................................................... 12

4.4.2后台服务模块用户图 ................................................................................................. 12

4.4.3后台服务模块用例图 ................................................................................................. 12

5.1城市列表模块详细设计 ......................................................................................................... 13

5.1.1城市列表模块活动流程图 ......................................................................................... 13

5.1.2城市列表模块事件流程描述 ..................................................................................... 13

5.1.3类图设计 ..................................................................................................................... 14

5.2天气信息模块详细设计 ......................................................................................................... 14

5.2.1用户界面模块活动流程图 ......................................................................................... 14

2

5.2.2天气信息模块事件流程描述 ..................................................................................... 14

5.2.3类图设计 ..................................................................................................................... 15

5.3用户管理模块详细设计 ......................................................................................................... 15

5.3.1用户管理模块活动流程图 ......................................................................................... 15

5.3.2用户管理模块事件流程描述 ..................................................................................... 16

5.3.3类图设计 ..................................................................................................................... 17

5.4后台服务模块详细设计 ......................................................................................................... 18

5.4.1后台服务模块活动流程图 ......................................................................................... 18

5.4.2后台服务模块事件流程描述 ..................................................................................... 18

5.4.3类图设计 ..................................................................................................................... 19

5.5网络图 ..................................................................................................................................... 19

5.6E-R图 ...................................................................................................................................... 20

6.1测试名称 ................................................................................................................................. 20

6.2测试目的 ................................................................................................................................. 20

6.3被测试特性 ............................................................................................................................. 20

6.4测试环境 ................................................................................................................................. 22

6.5测试用例 ................................................................................................................................. 22

测试分类 .............................................................................................................................. 22

一、 黑盒测试 ...................................................................................................................................... 22

6.6.1城市列表模块功能性测试设计 .......................................................................................... 22

(1)城市列表模块实现顺序图 ......................................................................................... 22

6.6.2天气信息模块功能性测试设计 .......................................................................................... 23

(1)天气信息模块实现顺序图 ......................................................................................... 23

6.6.3用户管理模块功能性测试设计 .......................................................................................... 23

6.6.4后台服务模块功能性测试设计 .......................................................................................... 24

(1)后台服务模块实现顺序图 ......................................................................................... 24

二、 白盒测试 ...................................................................................................................................... 24

7.1 项目时间 ................................................................................................................................ 25

7.2进度甘特图 ............................................................................................................................. 26

附录 ........................................................................................................................................................ 27

部分源代码实现 .................................................................................................................................... 27

一. 查询天气 ......................................................................................................................................... 27

二. 更新天气信息 ................................................................................................................................ 31

三. 解析和处理服务器返回的省级数据 ............................................................................................. 32

四. 解析和处理服务器返回的市级数据 ............................................................................................. 32

五. 遍历全国省市县数据 ..................................................................................................................... 33

3

1.项目概述

1.1背景

随着科技的发展,Android在中国的前景十分广阔,它的社区也十分红火,而这些社区为Android在中国市场的普及做了很好的推广作用。国内厂商和许多大运营商也纷纷加入了Android的阵营,同时不仅仅是局限于手机上,国内的厂家也不断的推出了Android系统的产品。 Android的主要竞争对手有苹果的IOS以及RIM的Blackberry OS。在2011年的第一季度中,Android在全球的市场份额首次超过了塞班系统,跃居全球第一。

1.2各类天气预报系统优缺点分析

天气预报是一种具有实用的信息服务,伴随着智能手机的不断普及和应用,各种智能手机平台下都有不同的天气预报软件。Android作为现在主流的智能手机之一,自然也有这方面的软件。

但是现在很多的天气预报也有不足之处,比如说央视的天气,由于我国幅员辽阔,人口众多,对于不在省会城市或附近地区来说,省会城市的天气并不能反映这一地区的天气总况;此外,气象服务单一也是一个问题,央视对全国空气质量问题、道路交通情况、农业生产和森林火险等更为影响公众日常生活的信息播报不够详尽。

1.3 解决问题及好处

天气状况常常关系到人们的日常生活,比如它能告知温暖,提供方便出行等等。此外,它对未来天气的预测还可以帮助农民对农作物的浇灌、施肥、收割等一系列的工作指导,以便让他们提前做出防御措施,把气象灾害带来的损失降到最低程度,并且能使得广大公众在第一时间方便、快捷地获取最新的天气预报信息。同时它也可以强化天气公共服务的职能,改善公共服务手段、完善公共服务体系、提高公共服务质量,更好地发挥了气象事业对社会发展的现实性作用。这款手机天气预报系统给人们生活带来方便的全方位信息,是人们在日常生活中必不可少的生活用品。此天气预报软件的界面明了,操作简单,适合各类人士,对提高人们生活水平具有一定的促进作用。

1.4 研究内容

Android平台的天气预报系统是基于Android手机平台,利用Java语言,从Google上获取天气预报的信息,开发出对使用Android平台的手机天气预报系统的一款应用软件。为了让智能手机用户能够随时随地查询互联网所提供的服务,让手机能通过互联网访问Web网站并处理各项不同的业务,其中有一种非常高效的方法就是将应用系统的功能拓展到手机的客户端。Android的一个最大特点就是它的开放性架构体系,它不仅仅具有非常好的调试环境和开发环境,而且它还具有各种各样的可扩展功能,其中还包括丰富的多媒体功能和图形组件的强大浏

4

览器,而且其技术已经逐渐趋于成熟。通过对界面的布局和控件使用等相关知识的学习和应用,使我对Android平台下的开发工作有了一个初步的了解,并且经过这次的开发,它使我能够基本掌握这些重要内容。软件开发以后,它能够帮助用户随时搜索由中国气象局提供的全国范围内的城市的天气信息,并且把数据显示在一个界面美观、布局合理窗口内,使用户能够舒适的享受此软件带来的简便的服务。

2.需求分析

2.1用户现状介绍

目前人们获得天气信息的主要途径有手机短信、Android自带的天气软件、网上查询、电视台报道等,但是对于偏僻的农村地区的人们来说,他们不会并上网。而我国是农业大国,所以一款简单、易操作、精确的天气系统软件至关重要。

2.2 天气系统功能图

天气预报系统天气信息模块城市列表模块用户管理模块后台服务模块城市天气信息菜单栏按钮天气更新按钮添加城市删除城市城市切换用户注册用户登录定时更新手动更新搜索城市定位城市数据备份用户设置更改密码退出

2.3功能描述

用户管理模块主要用于管理用户的登录注册和退出以及用户信息的更新。

城市列表模块主要是从后台数据库获得直辖市每个省份的城市数据并显示出来。

天气信息模块主要从后台数据获得各个城市详细的天气信息。

5

后台服务模块主要是时时从第三方的API获得最新数据并在后台更新。

2.4参与者描述

参与者包括系统总用户,天气信息模块用户,城市列表模块用户,用户管理模块用户,后台服务模块用户。关于如下图:

城市列表模块用户用户管理模块用户天气信息模块用户后台服务模块用户系统总用户

2.5用例图

天气信息更新最新天气信息注册修改个人设置数据库登录修改密码保存用户信息用户退出登录添加城市管理员查看用户登录状态

2.6外部接口需求

利用中国天气网的接口,直接从中国天气网上面获得天气数据。

2.7性能需求

1.

软件环境:基于java语言的android app开发 ,java JDK版本为

1.8,android SDK 4.0以上。

6

2.

硬件环境:

4G内存以上,CPU为inter的电脑

2.8系统质量需求

系统仅支持在android系统中使用,使用者可以随时随地查看天气的实时信息,并支持同时查看多个城市,天气信息数据每天准时更新。用户可以登录,登陆后可获得更多的操作权限。

3.可行性研究

3.1文档编写目的

根据需求分析阶段产生的天气预报App的需求规格,拟定相应的系统说明书,建立管理系统的体系结构。此份文档将确定系统中每个程序是由哪些模块组成,及各个模块的功能;确定模块间的相互关系;设计全局数据库和数据结构;制定测试计划;审核和复审。

3.2背景

随着科技的发展,人们的出行交通方式越来越多样,出行范围也不断扩大,但天气仍然是影响人们出行的主要因素,不仅仅是在出行,包括对用户的穿着或者第二天的生产活动也有很大的影响,所以我们开发一款天气预报App。

这款天气预报App可以根据定位确定所在城市,并且可以查看未来一周的天气信息,天气信息不仅仅再只是天气状况,也包括降水量、气压和空气质量指数等内容,也可以手动查询城市的天气信息,及城市的添加删除等管理,相对于在各大应用市场上的天气预报App,我们这款更加符合时代的发展和客户的需求。

3.3设计工具

1. 一台带有Windows 10系统的电脑。

2. Microsoft visio2013用于建模等画图操作。

3. Microsoft word2010用于编写文档。

3.4可行性分析

技术可行性

7

我们可以通过Android Studio进行编码,各个省份的各个城市可以通过数据库查询获得,每个城市的天气信息通过调用中国天气网的API获得详细信息,通过解析其中数据,根据用户的需求有选择地显示在用户的界面上。

经济可行性

我们开发的这个天气预报App需要用到稳定更新的API,所以会支付一部分费用,其余的费用支出即为开发者和测试人员的费用,但产品投入市场后,根据下载量的数量和用户的数量我们可以添加一些广告或者一些其他的增值业务用来盈利,也可以根据天气状况来为用户推销不同的产品,比如当天气下雨时,可以用一个友好的交互设计提示用户可以使用打车软件出行,或者使用上门服务避免外出;当天气很炎热时,可以推荐一些消暑产品。因为我们的开发成本低,加上现在互联网的发展相信我们这款天气预报App能在半年内的用户积累期过后盈利。

4.概要设计

4.1城市列表模块系统设计

4.1.1城市列表模块功能详细描述

城市列表模块包括以下内容:

(1) 添加城市按钮,可以添加全国各地的城市

(2) 搜索按钮,通过搜索添加某个城市

(3) 定位按钮,通过手机定位添加某个城市

(4) 删除按钮,删除添加的某个城市

(5) 切换按钮,添加的不同城市之间相互切换

4.1.2城市列表模块用户图

8

搜索用户添加城市用户城市列表模块用户定位用户删除用户界面切换用户

4.1.3城市列表模块用例图

添加城市用户搜索用户定位用户删除用户界面切换用户添加城市程序搜索程序定位程序删除程序界面切换程序

4.2天气信息模块概要设计

4.2.1天气信息模块功能详细描述

天气信息模块包括以下内容:

(1) 首次进入该系统,自动定位城市,然后跳转到天气信息界面。

(2) 显示城市的实时天气信息。包括未来七天里的天气情况,风力指数、空气质量和生活建议等等。

9

(3) 天气信息界面可以根据不同的天气自动切换背景图。

(4) 菜单栏按钮。添加城市,允许选择多个城市,可以同时观察多个城市的天气信息,不用来回切换。

(5) 天气更新按钮。让用户选择是否允许后台自动更新天气,以及设计更新的频率。

4.2.2天气信息模块用户图

天气信息用户菜单栏用户天气更新用户天气信息模块用户

4.2.3天气信息模块用例图

菜单栏用户天气信息用户天气更新用户菜单栏程序天气信息程序天气更新程序

4.3用户管理模块概要设计

4.3.1用户管理模块功能详细描述

用户管理模块包括以下内容:

10

(1) 用户管理模块主要用于用户的注册登录和退出,以及用户信息的管理。在产品前期,用户可以通过App注册用户,希望在有一定的用户数量后可以通过各大社交软件进行第三方账号登录。

(2) 通过用户管理可以让用户更换登录环境或者清除手机缓存后为用户同步之前的数据,并默认保存用户的设置,通过大数据分析用户的喜好用来投放相应的广告,使得我们的App有更好的用户体验。

4.3.2用户管理模块用户图

用户退出、更改密码用户用户登录注册用户数据备份用户用户管理模块总用户用户设置用户用户个性化设计用户

4.3.3用户管理模块用例图

所有用户登陆用户用户登录程序用户退出更改密码数据备份用户用户设置用户用户个性化设置用户

11

4.4后台服务模块概要设计

4.4.1后台服务模块功能详细描述

后台服务模块包括以下内容:

(1) 周期性的获取API的天气数据并存储到本地数据库。

(2) 从数据库读取出要显示的数据。

(3) 定时更新天气信息数据。

(4) 根据用户自身的现实位置同步本地城市数据。

4.4.2后台服务模块用户图

数据备份用户数据管理用户数据维护用户后台管理总用户

4.4.3后台服务模块用例图

天气显示用户天气查询用户天气分享用户天气显示程序

天气查询程序12

天气分享程序

5.系统设计

5.1城市列表模块详细设计

5.1.1城市列表模块活动流程图

天气信息界面界面切换点击菜单栏进入城市列表删除城市添加城市搜索城市定位

5.1.2城市列表模块事件流程描述

在城市列表模块中,通过菜单栏进入城市列表,可以选择添加城市,进入添加城市界面,在次界面可以通过搜索按钮,添加搜索到的城市,也可以通过定位按钮,定位手机位置,添加城市;在城市列表中,也可以点击已添加的城市,然后点击删除按钮,删除已添加的城市。在天气信息界面,可以通过左右滑动,在已添加的城市之间相互切换。

13

5.1.3类图设计

城市列表-城市ID : int-城市名字 : string-城市代码 : string+添加城市() : int+删除城市() : int+城市切换() : void全国省份-省份ID : int-省份名字 : string添加界面-城市ID : int-城市名字 : string+搜索城市() : int+定位城市() : int全国城市-城市ID : int-城市名字 : string-省份ID : int+查询省份() : int

5.2天气信息模块详细设计

5.2.1用户界面模块活动流程图

天气信息城市天气信息菜单栏天气更新

5.2.2天气信息模块事件流程描述

用户在天气信息界面可以查看城市的实时天气信息,包括未来七天里的天气情况,风力指数、空气质量和生活建议等等。天气信息界面的背景图可以随当前城市的天气情况而变化,比如,当前城市天气为晴朗,背景图就可能是一张蓝天白云的动态图片,若天气为小雨,背景图也会随之变化为下雨的动态图片等等。用户若想查看更多城市的天气信息,就可以点击界面的菜单栏按钮,再进行相应的操作。界面还提供了天气更新按钮,让用户选择是否更新天气数据以及天气数据的更新频率。

14

5.2.3类图设计

天气信息-城市名-天气描述-气温-菜单栏-更新天气-查询天气()-显示天气()

5.3用户管理模块详细设计

5.3.1用户管理模块活动流程图

进入登录界面用户是否登录是否输入用户名和密码App初始化界面否判断用户名和密码是否正确错误显示登录失败的信息正确是否在常用登录环境登录否是否同步后台数据库数据是加载用户信息,初始化数据是

15

登录后在用户界面否修改密码退出登录再次输入密码返回到App登录界面 判断密码是否正确备份本地的数据修改个人设置是修改成功,并更新后台数据库 后台服务器收到请求,保存数据

5.3.2用户管理模块事件流程描述

(1) 普通用户管理流程描述

1.用户通过登录窗口,如果用户选择不登录,进入初始化界面,如果用户选择登录,输入用户名和密码进行登录,如果用户登录成功,系统先将用户登录信息写入日志数据表;用户名或密码输入错误,则用户登录失败,系统显示登录失败信息。

2.用户登录后在用户界面可以退出登录或者更改密码,后台数据库会同步记录用户修改的信息和状态,修改密码需要用户重新输入密码和后台数据库用户密码比较相同后才可以修改,以避免用户误操作等。

3.后台数据库会每隔一段时间就会备份用户最新的数据,如果用户删除了缓存,下次登录时会有弹窗提示用户是否加载后台数据,如果是加载最新的一次备份数据,否就进入用户初始化界面,重新为用户备份数据。

4.用户登录后在用户主界面可以点击用户设置,点击相应的设置,如是否有后台推送、检查更新、清除缓存以及字体大小、意见反馈等设置。用户修改设置后后台自动保存,用户下次登录时自动为用户加载这些设置。

(2)管理员管理流程描述

16

1.管理员用户与普通用户一样在登录窗口,可选择是否登录,如不登录,则进入初始化界面,选择登录则输入管理员特定的用户名。登陆成功,系统将管理员的登录信息写入管理员日志数据表,输入错误则和普通用户一样,系统显示登录失败信息。

2.管理员登陆后,可选择进行管理备份用户数据、修改用户资料、查看用户登录状态。

3.管理备份用户数据是将后台备份数据库中的用户数据进行调用、查看、删除、添加等操作。

4.修改用户资料是将用户注册时或后面修改的个人设置和个性化设置进行修改。

5.查看用户登录状态可以查看当前所有在线用户的人数、地域分布等信息,从而可以进行数据分析。

5.3.3类图设计

17

5.4后台服务模块详细设计

5.4.1后台服务模块活动流程图

后台更新模块用户发出天气更新请求根据选中的城市从数据库中获取城市转码调用网上API接口得到API返回的数据使用模板解析数据并展示给用户界面

5.4.2后台服务模块事件流程描述

当用户选中城市后,点击查询按钮,数据库先返回当前城市的编码,根据编号生成对应的url去请求API的数据。当用户设置了自动更新天气,系统根据用户设置的频率自动执行上述操作。

18

5.4.3类图设计

选择城市-城市id : int-城市名字 : char+查询天气() : object手动查询天气-刷新天气 : object+查询城市编码ode() : int+查询编码所对应的天气() : object+开启自动更新()自动更新天气-更新频率 : int+开启定时器()+更新天气()

5.5网络图

19

5.6E-R图

手机号用户名用户ID性别用户查询城市城市名称城市ID对应城市名称气温天气更新时间城市代码天气描述

6.系统测试

6.1测试名称

天气预报系统测试

6.2测试目的

(1) 通过系统测试检验登录系统是否符合用户需求。

(2) 为了保证软件产品的最终质量,测试环节需尽可能的发现错误,检验个功能是否完善,测试各个模块层次,并根据测试计划和测试方案对测试的标准提出分析与实施,最后撰写测试报告。

(3) 功能性测试,能否根据用户的需求完成相关工作。

6.3被测试特性

产品名称

用户文档追踪章节

天气预报系统

特性 子特性 特性简要说明 备注

20

产品名称

用户文档追踪章节

天气预报系统

特性 子特性 特性简要说明 备注

城市列表

定位城市

城市位置更新

菜单栏弹出

对所在城市定位

连接数据实时跟新定位

左右滑动与点击事件

产品名称

天气预报系统

软件产品特性项目

用户文档追踪章节

特性 子特性 特性简要说明 备注

登录

注销登录

登录服务

查看个人信息

修改个人信息

修改密码

已注册的用户进行登录

已登录的用户注销登录

已注册的用户查看个人信息

已注册的用户修改个人信息

已注册的用户修改密码

产品名称 天气预报系统

软件产品特性项目

特性

天气服务

天气服务

子特性

天气情况

气温情况

推荐穿衣与出行

天气更新

特性简要说明

获取当天气

当前气温与今日气温差

穿衣指数与出行指南等一些温馨提示

连接数据更新天气

备注

21

6.4测试环境

Android移动设备,IDE开发环境窗口。

6.5测试用例

测试分类

一、黑盒测试

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。

黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误:

功能不正确或遗漏; 界面错误; 数据库访问错误; 性能错误; 初始化和终止错误等。

6.6.1城市列表模块功能性测试设计

(1)城市列表模块实现顺序图

(点击菜单栏的添加按钮添加城市)

显示全国省市列表用户选择主要城市选择县某城市添加成功,更新数据添加城市选择或输入城市选择具体县更新界面天气数据

22

6.6.2天气信息模块功能性测试设计

(1)天气信息模块实现顺序图

显示天气显示菜单栏各项信息用户更新新城市今天的天气信息查看近几天的天气进入界面点击菜单栏切换城市左右滑动

6.6.3用户管理模块功能性测试设计

(1)用户管理模块实现顺序图用户输入账号登陆成功界面选择城市界面城市天气等界面输入密码点击城市选择按钮点击查看天气等信息按钮

23

6.6.4后台服务模块功能性测试设计

(1)后台服务模块实现顺序图

修改账户信息用户修改账户数据修改选中城市信息城市天气等信息的变化更新后台数据修改选中城市数据城市天气等信息变化更新后台数据

二、白盒测试

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。用白盒测试产生的测试用例能够:

1)保证一个模块中的所有独立路径至少被使用一次;

2)对所有逻辑值均需测试true和false;

3)在上下边界及可操作范围内运行所有循环;

4)检查内部数据结构以确保其有效性。

24

操作步骤

序号

1

操作步骤/输入数据

注册账号 带字母等

全数字

2 登录 输入错误密码

输入正确密码

3

修改密码 新密码与旧密码一致

预期输出

提示错误

可用账号

提示密码错误

F

T

F

实际结果

进入账户界面 T

提示错误 F

新密码与旧允许修改

密码不一致

4

网络连接时刷新天气 显示最近天气信息

T

显示最近天气信息

7.项目实施

7.1 项目时间

25

7.2进度甘特图

8.产品报价

序号

1

2

3

4

5

6

7

8

9

10

11

工作内容

项目调研

需求分析

系统分析

系统结构设计

工作量(人天) 单价(元)

2*3

2*3

2*3

2*5

200

200

300

600

600

600

600

300

200

金额(元)

1200

1200

1800

6000

7200

4800

10800

4800

200

10000

48000

界面和报表设2*6

数据库设计

软件配置管理

文档编写

安装调试

维护

合计

2*4

2*9

2*8

1*1

3

86

26

9.团队介绍

姓名

XXXX(组长)

XXXX

XXXX

学号

XXXXX

XXXXX

XXXXX

分工

X

X

X

附录

部分源代码实现

一. 查询天气

private void queryWeatherCode(String countyCode) {

String address = "/data/list3/city" +

countyCode + ".xml";

queryFromServer(address, "countyCode");

}

/**

* 查询天气代号所对应的天气。

*/

private void queryWeatherInfo(String weatherCode) {

String address = "/data/cityinfo/" +

weatherCode + ".html";

queryFromServer(address, "weatherCode");

}

/**

27

* 根据传入的地址和类型去向服务器查询天气代号或者天气信息。

*/

private void queryFromServer(final String address, final String type) {

tpRequest(address, new HttpCallbackListener() {

@Override

public void onFinish(final String response) {

if ("countyCode".equals(type)) {

if (!y(response)) {

// 从服务器返回的数据中解析出天气代号

String[] array = ("|");

if (array != null && == 2) {

String weatherCode = array[1];

queryWeatherInfo(weatherCode);

}

}

} else if ("weatherCode".equals(type)) {

// 处理服务器返回的天气信息

WeatherResponse(,

response);

runOnUiThread(new Runnable() {

@Override

public void run() {

showWeather();

}

});

}

}

@Override

public void onError(Exception e) {

runOnUiThread(new Runnable() {

28

@Override

public void run() {

t("同步失败");

}

});

}

});

}

/**

* 从SharedPreferences文件中读取存储的天气信息,并显示到界面上。

*/

private void showWeather() {

SharedPreferences prefs = PreferenceManager.

getDefaultSharedPreferences(this);

t( ing("city_name", ""));

t(ing("temp1", ""));

t(ing("temp2", ""));

t(ing("weather_desp", ""));

t("今天" + ing("publish_time", "") + "发布");

t(ing("current_date", ""));

ibility(E);

ibility(E);

}

}

29

30

二.

更新天气信息

31

三. 解析和处理服务器返回的省级数据

四. 解析和处理服务器返回的市级数据

32

五. 遍历全国省市县数据

33

34

35


本文标签: 用户 天气 城市 模块