基于Android天气预报课程设计.doc

上传人:xin****828 文档编号:6669618 上传时间:2020-03-02 格式:DOC 页数:13 大小:113KB
返回 下载 相关 举报
基于Android天气预报课程设计.doc_第1页
第1页 / 共13页
基于Android天气预报课程设计.doc_第2页
第2页 / 共13页
基于Android天气预报课程设计.doc_第3页
第3页 / 共13页
点击查看更多>>
资源描述
教学单位 计算机学院 学生学号 014301754129 Android课程设计 题 目 Android天气预报课程设计 学生姓名 王能松 专业名称 软件工程 指导教师 祝攀 2016年11月15日目录Android课程设计11 绪论12背景13 研究课题24研究目的和意义25开发平台和环境26需求分析37 功能分析97.1模块划分97.2具体功能实现97.3系统E-R图108设计小结119 参考文献111 绪论Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由AndyRubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2012年7月美国科技博客网站BusinessInsider评选出二十一世纪十款最重要电子产品,Android操作系统和iPhone等榜上有名。2013年09月24日谷歌开发的操作系统Android在迎来5岁生日,全世界采用这款系统的设备数量已经达到10亿台。2014第一季度Android平台已占所有移动广告流量来源的42.8%,首度超越iOS。Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号,于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了。Android是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵。有时候,它们还会使用纯文字的Logo。2背景天气信息和人们的日常生活息息相关,随着人们活动范围的扩大和出行需要,及时精确的获取天气信息显得越来越重要。为此,本人设计了天气预报软件,它是一种非常实用的天气信息提供软件,使用方便且功能强大,能提供各方面天气相关信息和贴心的生活指数。用户可以通过天气预报软件及时获得近期天气的状况和变化,及时做好各方面计划和防御措施3 研究课题 本次课程设计选择的课题是基于Android天气预报的程序设计,我们知道,现在越来越多的人喜欢出去旅游,而旅游一个重要的前提是有一个好天气,因此,能提前知道天气的变化以及做好准备是非常重要的,因此,开发一款好的天气软件是非常重要的,它能让用户随时随地查询天气信息及天气变化情况,让我们的生活变得更加美好,舒适!4研究目的和意义天气软件是一种非常实用的信息服务,随着智能手机的不断普及,各种智能手机平台下都有各种各样的天气软件。Android作为现在主流的智能手机之一,自然也需要这方面的软件。天气关系到人们的日常生活,如告知温暖,方便出行等。此外,对未来天气的预测还可以帮助人们进行农作物的浇灌、施肥、收割等工作。基于Android平台的天气软件已经有很多,经过分析,用户第一眼往往是一个软件的外观,一个好看的界面才能让用户以一种爱美之心去尝试,才能进一步了解一个软件的好坏,所以吸引眼球的界面是争取用户的第一步。因此,界面设计工作对应用程序来说非常重要,在界面上吸引了用户,才能进一步让用户体验应用程序中的功能,使用这个软件。 5开发平台和环境开发应用环境如下:(1)下载Android studio Android Studio 是一个Android集成开发工具,基于IntelliJ IDEA. 类似EclipseADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。(2)JDK的安装及系统环境配置。步骤1、安装JDK选择安装目录,安装过程中会出现两次安装提示。第一次是安装jdk,第二次是安装 jre。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)。步骤2、(1)安装jdk随意选择目录 只需把默认安装目录java之前的目录修改即可。(2)安装jre更改java之前目录和安装 jdk目录相同即可。注:若无安装目录要求,可全默认设置。无需做任何修改,两次均直接点下一步。步骤3、安装完JDK后配置环境变量计算机属性高级系统设置高级环境变量。步骤4、系统变量新建JAVA_HOME变量 。变量值填写jdk的安装目录(本人是E:Javajdk1.8.0)。步骤5、系统变量寻找Path变量编辑。在变量值最后输入%JAVA_HOME%bin;%JAVA_HOME%jrebin;(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)。步骤6、系统变量新建CLASSPATH变量。变量值填写.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar(注意最前面有一点)。系统变量配置完毕。步骤7、检验是否配置成功运行cmd输入java-version(java和-version之间有空格)。6需求分析1 能够查询城市的天气情况2 能够进行城市地点切换3 能够系统的显示天气数据及变化信息4 系统数据必须有安全性,独立性和可靠性。5在线天气数据解析首先,我们从“百度车联网API官网”中获取key,这是我们能否使用百度提供的服务的关键,具体的步骤不详述。通过这个API我们可以从浏览器端查看获取天气json格式的数据,如下所示:实时天气:1.city 北京/城市 2.cityid 101010100/城市编码 3.temp 17/当前温度 4.WD 东风/风向 5.WS 2级/风力 6.SD 70%/相对湿度 7.WSE 2/风力 8.time 14:20/更新时间 9.isRadar 1/是否有雷达图 1. XML接口 http:/flash.weather.com.cn/wmaps/xml/china.xml 这个是全国天气的根节点,列出所有的省,其中的pyName字段是各个省XML的文件名,比如北京的是beijing,那就意味着北京的XML地址为 http:/flash.weather.com.cn/wmaps/xml/beijing.xml 一个省的天气,其中列出该省各个市的数据,北京就列出各个区。 tmp1是最低温低,tmp2是最高温度,url非常重要,我们一会儿再说。state1和state2是神马转神马,每个数代表一个天气现象。天气现象非常多,我本想全部分析出来,后来直接放弃了这个想法。因为我看到了一个城市的天气现象的编码是26.我现在知道的有0.晴 1.多云 2.阴 6.雨夹雪 7.小雨 8.中雨 13.阵雪 14.小雪 其中后来发现知道这个没用,这个数字的主要作用是检索图片的!2. 图片接口 http:/m.weather.com.cn/img/c0.gif http:/m.weather.com.cn/img/b0.gif http:/www.weather.com.cn/m/i/weatherpic/29x20/d0.gif http:/www.weather.com.cn/m2/i/icon_weather/29x20/n00.gif 这个图就是天气现象0(晴)的图片,其他天气现象的图片依此类推。c打头的图片是20*20像素的,b打头的是50*46像素的,d打头的是反白的图标,29*20像素,n打头的是夜间反白图标,29*20像素,注意这里的文件名是两位数字! 也许还有更多的图标,等待大家发掘啦3. JSON接口 真没想到居然有JSON接口JSON在iPhone上分析起来要比XML简单很多 http:/m.weather.com.cn/data/101010200.html 这个是北京的JSON数据,那个HTML的名字是根据上文XML中的url得到的。这个JSON中包含了实时数据、7天天气预报、气象指数等丰富的数据 国家气象局提供的天气预报接口接口地址:http:/www.weather.com.cn/data/sk/101010100.htmlhttp:/www.weather.com.cn/data/cityinfo/101010100.htmlhttp:/m.weather.com.cn/data/101010100.html 对于第三个接口,返回信息比较全面,也是以json格式提供,格式如下weatherinfo: /基本信息;city:北京,city_en:beijing,date_y:2012年2月16日, date:, week:星期四, fchh:11, cityid:101010100,/摄氏温度temp1:2-7,temp2:1-7,temp3:4-7,temp4:7-5,temp5:5-3,temp6:5-2,/华氏温度;tempF1:35.619.4,tempF2:33.819.4,tempF3:39.219.4,tempF4:44.623,tempF5:4126.6,tempF6:4128.4,/天气描述;weather1:晴,weather2:晴,weather3:晴,weather4:晴转多云,weather5:多云,weather6:多云转阴,/天气描述图片序号img1:0,img2:99,img3:0,img4:99,img5:0,img6:99,img7:0,img8:1,img9:1,img10:99,img11:1,img12:2,img_single:0,/图片名称;img_title1:晴,img_title2:晴,img_title3:晴,img_title4:晴,img_title5:晴,img_title6:晴,img_title7:晴,img_title8:多云,img_title9:多云,img_title10:多云,img_title11:多云,img_title12:阴,img_title_single:晴,/风速描述wind1:北风3-4级转微风,wind2:微风,wind3:微风,wind4:微风,wind5:微风,wind6:微风,/风速级别描述fx1:北风,fx2:微风,fl1:3-4级转小于3级,fl2:小于3级,fl3:小于3级,fl4:小于3级,fl5:小于3级,fl6:小于3级,/今天穿衣指数;index:冷,index_d:天气冷,建议着棉衣、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣或冬大衣。,/48小时穿衣指数index48:冷,index48_d:天气冷,建议着棉衣、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣或冬大衣。,/紫外线及48小时紫外线index_uv:弱,index48_uv:弱,/洗车index_xc:适宜,/旅游index_tr:一般,/舒适指数index_co:较不舒适,st1:1,st2:-8,st3:2,st4:-4,st5:5,st6:-5,/晨练index_cl:较不宜,/晾晒index_ls:基本适宜,/过敏index_ag:极不易发 weatherinfo: city:北京, city_en:beijing, date_y:2013年1月17日, date:, week:星期四, fchh:11, cityid:101010100, temp1:3-8, temp2:3-5, temp3:3-3, temp4:1-5, temp5:3-6, temp6:2-5, tempF1:37.417.6, tempF2:37.423, tempF3:37.426.6, tempF4:33.823, tempF5:37.421.2, tempF6:35.623, weather1:晴, weather2:晴, weather3:多云转阴, weather4:阴转多云, weather5:多云转晴, weather6:晴转多云, img1:0, img2:99, img3:0, img4:99, img5:1, img6:2, img7:2, img8:1, img9:1, img10:0, img11:0, img12:1, img_single:0, img_title1:晴, img_title2:晴, img_title3:晴, img_title4:晴, img_title5:多云, img_title6:阴, img_title7:阴, img_title8:多云, img_title9:多云, img_title10:晴, img_title11:晴, img_title12:多云, img_title_single:晴, wind1:微风, wind2:微风, wind3:微风, wind4:微风, wind5:微风, wind6:微风, fx1:微风, fx2:微风, fl1:小于3级, fl2:小于3级, fl3:小于3级, fl4:小于3级, fl5:小于3级, fl6:小于3级, index:冷, index_d:天气冷,建议着棉衣、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣或冬大衣。, index48:冷, index48_d:天气冷,建议着棉衣、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣或冬大衣。, index_uv:弱, index48_uv:弱, index_xc:适宜, index_tr:较适宜, index_co:较不舒适, st1:2, st2:-6, st3:2, st4:-3, st5:3, st6:-4, index_cl:适宜, index_ls:基本适宜, index_ag:极不易发 流程图如下显示天气流程图获取数据解析数据保存数据显示数据7 功能分析7.1 模块划分1)城市管理模块,提供城市的添加、删除和选择。2)显示天气模块,提供当日天气信息和未来天气信息的显 示,天气分享功能。3 )实景天气模块,提供实景图片的上传和查看。4)用户管理模块,提供用户注册,登陆,修改和查看个人信息5)设置界面模块 此模块提供软件相关的用户反馈,检查更新和关于我们8.2系统7.2具体功能实现各模块主要功能如下: 1) 城市管理模块:此模块包含城市添加、删除和查找。用户可以通过手动输入,自动定位和选择系统内置的热门城市等方式选择目标城市。也可以在城市管理界面进行城市的 长按删除。通过对全国上千个县级市进行搜索查询,准确定位到每一个城市,然后在通过查询天气功能准确的显示每个城市的准确情况,如果要更换城市,点击修改,出现下拉别的城市,如果想删除别的城市,直接删除城市即可!2) 显示天气模块: 此模块主要完成显示所选城市相关天气信息,显示未来几 天天气预览和一些必要的生活指数。它显示指定城市三天内的天气状况,包括日期、城市名称、温度、风力与当 日的建议,用户可通过按菜单键来显示菜单更新当前天气与设置天气显示的界面 背景,以及跳转至设置预报城市界面来更换预报城市。另外,用户还可以通过系统内置分享将天气信息分享到朋友圈,微信好友和QQ好友。 3) 实景天气模块:此模块中用户可以通过拍照和从图库选取两种方式选择实景天气图片并上传到服务器,还可从服务器下载实景天气图片并查看。由自动设置预报城市与手动设置二部分组成,自动设置实现GPS定位功能,自动确定当前用户所在地;而手动设置则通过可伸展性下拉列表单击选择系统数据库中预存的城市来进行设置,同时为了方便用户查找,支持以输入框的形式来过滤查询预报城市。当单击选中城市时跳转至天气显示界面,来显示该城市当三天内的天气状况;第一次运行时自动跳到该界面4) 用户管理模块:此模块包含一整套的用户管理解决方案,主要功能包括: 注册,登录,找回密码,更改密码,查看和修改用户基本信息等功能。此功能需要连接数据库,通过数据库接口来获取表中的数据,完成用户的注册和登录,包括用户的密码的更换!5)设置界面模块,此模块提供软件相关的用户反馈,检查更新和关于我们。我们会联网获取得到的用户信息,及时反馈给用户,包括一些版本的更新。7.3系统E-R图用户管理模块城市管理模块实景天气模块用户选择城市添加城市删除城市上传天气实景查看天气实景注册登录修改个人信息查看个人信息修改密码找回密码显示天气模块显示天气分享天气系统模块设置检测更新用户反映关于我们8设计小结本文首先对天气预报系统进行了详细分析,给出了功能需求分析、系统用例分析及总体设计。着重介绍了系统各模块的设计与实现,用户通过本系统能够轻松便捷的获取全国各地城市的天气信息,通过实景天气直观了解天气的实际情况,对未来的天气信息了如指掌。同时,系统管理员可以删除数据库中过时的实景天气,保证实景天气数据库随时处于最新状态9 参考文献1教学资源网.http:/e.sias.edu.cn/channels/286.html2Android官方.http:/developer.android.com/index.html3道客巴巴.http:/www.doc88.com/p-083715633634.html4维基百科.http:/zh.wikipedia.org/wiki/Android5 Android开发者网站. http:/developer.android.com/guide/topics/fundamentals/activities.html 6 美Ed Burnette.Android 基础教程:北京人民邮电出版社,2010 7 百度文库.http:/wenku.baidu.com/view/2404dbef81c758f5f61f67d2.html 8 墨迹天气.http:/www.mojichina.com
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类 > 大学论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!