收藏 分享(赏)

天气预报.doc

上传人:gnk289057 文档编号:7217218 上传时间:2019-05-10 格式:DOC 页数:12 大小:91.50KB
下载 相关 举报
天气预报.doc_第1页
第1页 / 共12页
天气预报.doc_第2页
第2页 / 共12页
天气预报.doc_第3页
第3页 / 共12页
天气预报.doc_第4页
第4页 / 共12页
天气预报.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、智能移动终端应用开发设计报告(2013/2014 学年第 2 学期)题 目 : 天气预报软件 学 院 : 信息与电气工程学院 专 业 : 电子信息工程 姓 名 : 学 号 : 设计成绩 : 2014 年 月 日第一章 绪论1.1 系统软件开发背景介绍随着时间不停往前推移,手机已经变成了生活中不可缺少的必需品了,而手机也慢慢拜托了打电话发短信等基本功能,基于智能手机的处理能力和可扩展能力,基于3G 网络高速数据传输,越来越多的功能和业务将被开发出来并大规模的应用。正基于此,当全世界的目光聚集在此的时候,Google 于 2007 年 11 月 5 日宣布推出基于linux 平台的开源手机操作系统

2、,号称首个为移动终端打造的真正开发和完整的移动软析-android.1.1.1Android 软件介绍Android 是基于 Linux 内核的软件平台和操作系统,早期由 Googel 开发,后由开放手机联盟(Open handset Alliance)开发。它采用了软件层(Software stack)的构架,主要分为三个部分。底层以 Linux 为内核作为基础,由 C 语言开发,只提供基础功能,中间层次包话函数库和虚拟机,由 C+开发。最上层是各种应用软件,包话通话程序,短信程序。应用软件由各公司自行开发,以 JAVA 编写。1.1.2Android 前景Android 最吸引人的特点是开

3、源特性,因其开源,允许所有人对其代码进行开发和修改,同时又由于其代码的简单易学性,Android 在全世界拥有众多的粉丝。Android 在中国的前景十分广阔,首先是有成熟的消费者,在国内,Android 社区十分红火,这些社区为 Android 在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了 Android 阵营,包括中国移动,中国联通,中兴通讯,华为通讯,联想等大企业,同时不仅仅局限于手机,国内厂家也陆续推出了采用 Android 系统的产品,我们可以预见 Android 将会被广泛应用在国产智能上网设备上,将进一步扩大Android 系统的应用范围。Android 这个平台

4、对于 Gooleg 对于大众的意义不在于手机本身,Android 存在的目的也不在于挑起手机操作系统之间的混战,而在于推动移动互联网产业链的迅速成型。具在开源性的 Android 平台打破了之前 symbina,widows,mobile 等操作系统收取高额的授权费用的模式,使得只能手机成来大大下降。同时,合作方能在这里得到利润或者创造价值,手机软件行业得到维护协调发展。以 Google,苹果和诺基亚为中心各自形成的生态链将以原来数倍的速度推动移动互联网的发展,这正是 Google 发布 Android 平台的意义,也是 Android 平台存在的使命所在,而作为 Android 平台成员之一

5、的中国移动也投资成立了一家通讯公司,专门从事 Google 手机平台上添加飞信,输入法等一系列符合国内用户使用特色的功能。国内众多个业也将目光投入了 Android 上面,并启动了相关的计划来深入地理解并发展 android。更多的手机软件开发企业已经或者筹备着将公司进行转型,从其主向的开发转向到 android 的开发。综上所述,无论是国内还是在国外,Android 平台对手机软件行业和移动手机平台将发挥极大的推动作用,而在未来的几年或者一段时间内,Android 将越来越显示出自已的重要性。基于此,我们有必要通过进行相关的研究来了解 Android 平台,来了解开发Android 的那一大

6、批人的先进的理念和思想,并通过这些来了解手机软件行业,进而了解未来移动互联网的发展趋势,从而更好的适应时代的需要。1.2 系统软件开发目的科技在日益发展,人们在手机的使用方面要求也越来越丰富,天气预报是一项十分实用的功能,天气影响着人们的日常生活出行,此外,天气预测还影响着人们对农作物的收割施肥。因此天气预报软件的市场价值是非常高的。现在市场竞争非常激烈,所以想要在市场上获得认可,软件本身就应该做的足够好,而外观就是客户的第一认识,所以外观应该做的比较贴近大众,才能让客户有兴趣往下去使用软件。此外,软件的功能也要越发的齐全,除了温度,天气外,还应该有风速,风向,紫外线,穿衣指数等功能。1.3

7、系统软件需求分析1、能够查询数据库存中城市的天气情况。2、系统能通过手机查看并显示天气数据。3、系统必须具有安全性,可靠性,独立性。4、软件外观美丽贴近大众。5、软件能存放在 SD 卡里,以免占用手机内存。第二章 软件总体设计2.1 软件结构设计软件总体分为三个部分,分别是查询界面,城市选择界面以及天气预报界面。流程图如图 1。开始查询界面城市选择界面天气预报界面结束图 1 程序流程图2.2 软件外观设计为了使软件看起来既美观又占用较少的内存,外观采取比较朴素的亮色作为背景,这样既能美观,又不会占用太多的手机内存。城市选择界面的外观就不做太多的设计,主要是让手机节约内存。第 3 章 关键技术分

8、析3.1 关键技术介绍完成软件需要以下几个关键技术:1.创建城市选择列表2.天气信息获取3.解析数据4.显示数据3.2 技术分析1.天气预报中,城市选择是必不可少的一个环节,因此在城市选择界面应该能显示出中国所有的城市列表,所以城市的信息获取是需要手机终端从 Web 服务器获取了所有类型的数据之后,将这些数据进一步交给 Android 手机终端 View 组件,在手机界面上显示给用户。2.天气信息获取也是手机终端从 Web 服务器获取了所有类型的数据之后,将这些数据进一步交给 Android 手机终端 View 组件,在手机界面上显示给用户。3.当我们获取信息之后,会发现信息十分混乱,所以我们

9、要解析数据,使之不再混乱。4.获取的城市列表信息与天气信息都需要很清晰的显示给客户看,所以显示数据是十分重要的一个环节。第 4 章 软件详细设计4.1 用户界面设计Android 提供的可变化的用户界面(UI)开发模块是基于 XML 文件的。这些 XML 文件放在工程/res/layout 下面。这个目录可包含所有应用程序所需的非码部分,比如图片、字符串、xml 文件。当要使用到这些资源时,在代码目录中打开 R.java 文件即可。在 XML 文件里编辑界面的代码,实现起来不仅方便,使用时也会更加灵活。在 Android 程序设计中要用到一些基本的 Android UI 元素,通过使用 Vie

10、ws、View Groups 和 layouts 可为 Activity 创建功能性的、富有直观力的 UI.通常是使用Android SDK 中提供的一些控件,进行布局、扩展和定制这些控件,并使用ViewGroups 去组合 Views,创建由相互作用的子控件组成的原子的、重复利用的 UI 元素。也可以创建自己的 Views,来实现显示数据和与用户交互的新途径;或使用一些继承自 View Group 的 Layout 管理器来组织 Android UI 中的单个元素到屏幕上。在一个 Android 应用中,用户界面由 View 和 View Group 对象构建。View 与 View Gro

11、up 有很多种类,而它们都是 View 类的子类。View 对象是 Android 平台中用户界面的基本单元。View 类是 widgets(工具)类的父类,它们提供了诸如文本输入框和按钮之类的 UI 对象的完整实现。View Group 类是 Layouts(布局)类的父类,它们提供了诸如流式布局、表格布局以及相对布局之类的布局架构。View 对象是一个数据体,它的属性存储了用于屏幕上一块矩形区域的布局参数及内容。并负责它所辖的这个矩形区域之中所有测量、布局、焦点转换、卷动以及按键/触摸手势的处理。作为一个用户界面对象,View 同时也担任着用户交互关键点以及交互事件接受者的角色。天气实况预

12、报系统程序功能比较单一,其 UI 也相对比较简单,只要有一个输入框、一个查询按钮以及一个显示所有中国城市信息的列表即可。为了建立 Android 平台的用户界面,首先要在 Package Explorer 窗口中展开 Layout 后新建。xml 文件,用来对窗口界面进行布局,主要有系统运行的主配置文件main.xml 和 result.xml.Layout 是一类特殊的 ViewGroup 控件,它们本身没有任何可显示内容,存在的惟一原因就是其中的内部结构,能够更好地摆放它的子控件。比如 Linearlayout,可将子控件按水平或垂直方向按顺序排列下去;Tablelayout,可以将子控件

13、按照表格的形式,一枚枚放置好;Relativelayout 更灵活,可以设定各个控件之间的对齐和排列关系,适合定制复杂的界面。有了 Layout 的存在,控件和控件之间不再是割裂地存在,而是更有机地结合在一起,设定起来也更为方便。在 main.xml 文件中主要是添加一些界面的布局设置。4.2 城市选择列表设计城市的名称是手机终端从 Web 服务器获取了所有类型的数据之后,将这些数据进一步交给 Android 手机终端 View 组件,在手机界面上显示给用户。所以也需要解析信息,并在 UI 上显示城市数据来。4.2.1 获取城市名称信息因为 Android 没有提供 Web Service 的

14、组件库,但可以通过修改在 PC 或J2ME 上使用的开源 Web Service Java 库作为 AndroidWeb Servic 库使用。kSOAP2(http:/)是一个在智能手机上的 SOAP Web Service 客户端包,可用于资源受限制的 Java 环境如 Applets 或 J2ME 应用程序。在GoogleCode 上有一个项目 ksoap2-android(http:/ Android 平台上实现轻量级的 SOAP 库,即使用 ksoap2-android 的 API 来调用远端 Web Service 的服务。因此需要在 CitiesWeatherForecast.j

15、ava 的 onCreate()中进行数据获取的初始化工作。通过定义一个方法 public ListgetAllCitiesNAMEs()可获得中国城市名称列表。也就是说,采用它提供的获得全球各个国家城市的方法 GetCitiesByCountry,通过 http:/ 上的 WebService 可提供天气预报服务。譬如,通过 Constant.java 中的 public class Constant,设置 SOAP Action 要调用的方法名、命名空间以及 Web Service URL 值。4.2.2 解析数据信息Android 操作系统对 xml 字符串数据的操作功能很强,提供了 d

16、om、sax 以及xmlpul 3 种方式。Android SDK 提供了 android.sax 包以方便 SAX Handler 的开发,可用来解析 xml 结果字符串。在本设计实例的 CitiesWeatherForecast.java 文件中,解析 xml 数据时,先通过 RootElement root=new RootElement(“NewDataSet“ )获得 xml 数据的根节点;然后再寻找其子节点直到找到 City 子节点,并设置一个监听器setEndTextElementListener()来获得 City 子节点的值;最后使用 org.xml.sax 的SAXPars

17、er 来解析 xml 数据,把数据存入 List并返回。4.2.3 显示数据当获得 List类型的数据之后,就可以把它绑定到 main.xml 定义的ListView 组件上,然后使用 ListActivity 呈现列表数据。在 WeatherForecast.java 中将代码写进去。4.3 天气预报信息设计基于 Android 操作系统的天气实况预报系统设计的核心是通过调用通信协议SOAP(Simple Object AccessProtocol)的接口,从 Web Service 提供商中提取天气预报的数据信息,为客户端服务。其基本功能是当用户运行天气预报系统程序时,在手机屏幕上显示出中

18、国的城市名称,用户单击任意一个城市名,可获得该城市的天气实时预报信息。为此,需要解决的问题是手机终端从 Web 服务器获取了所有类型的数据之后,将这些数据进一步交给 Android 手机终端 View 组件,在手机界面上显示给用户。4.3.1 天气信息获取一般接口由三部分组成:接口地址+接口名称+接口参数。比如下面这个是中国气象网提供的天气信息查询接口:http:/ :(1) 请求接口 (2) 创建一个 runnable (3) 创建 HttpGet, 就是创建我们要访问的接口地址(4) HttpClient, 我们要通过它来将 step1 创建出来的地址发送给服务器、(5) 通过 httpC

19、lient.execute()方法,我们把 url 发送给了服务器,(6) 发起 GET 请求(7) 服务器返回的信息就会被保存在 HttpResponse 中了(8) 用 EntityUtils.toString 把 HttpResponse 转换成 string(9) 返回的 json 字符串解析并显示出来(10) 开启线程执行 runnable4.3.2 解析数据获取的信息十分混乱,解析数据我们采用 json 协议来解析数据,将返回 json 字符串转换成 jsonobject。4.3.3 在 UI 上显示天气信息同理,如同获取城市列表信息一样,获得天气数据之后,就可以把它绑定到acti

20、vity_main.xml 定义的 ListView 组件上。第 5 章 软件测试方案5.1 天气预报软件在电脑模拟环境下测试软件编写完成,对其进行测试,首先将手机天气预报系统在电脑模拟环境下测试的方案,以下是对系统进行测试,在 Eclipse 的 Package Explorer 窗口中用鼠标右键选择 weather 工程名,在弹出的窗口中选择“Run As“Android Application“安装该应用程序到 Android 模拟器并启动它。如图 2.图 2等待模拟器启动完成软件的安装,然后进入城市选择界面,确定城市后查询的城市天气,稍等片刻便会显示出该城市的天气实况信息。再到网络上查

21、询那个城市的天气信息,观察是否一样。网络上的天气截图如图 3 。图 35.2 天气预报软件在 Android 手机下测试在工程名 weather 上点右键,然后选择“Run As”,然后选择“Android Application”。进入界面后,选择测试手机。如图 4。图 4等待程序安装完成,保证手机连接互联网的情况下,启动后可以得到各个城市的天气信息。若手机上显示的天气信息与网络上显示的天气信息一致,这说明软件测试成功。第 6 章 设计总结Android 平台具有极大的开放性和兼容性,并且本身大量使用了开源代码库,深为开发人员所喜爱。Android 智能手机应用程序的开发涉及了它的整个体系结

22、构,是一项非常复杂的工程。此次实验中在介绍基于 Android 平台的应用程序设计原理的基础上,设计了 Android 用户界面设计、获取并解析城市列表数据的一种方法,给出了在用户界面上呈现数据的原理与设计过程,最后通过模拟器进行了应用程序的调试。当然,基于 Android 平台的开发技术还需要进一步完善,需要在日后的工作中不断探索、研究,以建立实用的城市天气实况预报系统。Andriod 的设计至今为止已经进入了令人鼓舞的阶段,在进行了几周的时间的摸索与实验,使我不仅仅是对于 andriod 常用设计与功能,还使我对于一项设计研究的制作过程所需要的详细步骤和具体的实现方法的力度的掌握。当然在这

23、次宝贵的设计实验活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下,随着对这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的时期内被实现。总之,这次实验从开始的总体设计开始,到最后的软件测设方案,我学会了许多,从最开始什么都不了解开始,慢慢思考结构,上网查找解决关键技术的方法,最终完成设计。在没有做本次设计实验以前觉得设计实验只是对这学期来

24、所学知识的单纯总结,但是通过这次做设计实验发现自己的看法有点太片面。设计实验不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次设计实验使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是

25、两回事,所以我认为只有到真正会用的时候才是真的学会了。在设计实验过程中,我通过查阅大量有关资料,与同学交流经验和自学等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计实验中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计实验过程中所学到的东西是这次毕业实验的最大收获和财富,使我终身受益。第 7 章 参考资料1邓凡平.深入理解 AndroidM.机械工业出版社,2011-09-01.2哈希尔.精通 Android3M.人民邮电出版社:2011-10-02.3马超,孙仁贵.Android 应用开发全程实录M. 人民邮电出版社,2012-01-01.1 杨丰成Android 开发揭秘C:机械工业出版社,2010-01-01。2 李宁Androidt 移植与调试C 机械工业出版社社,2011-02-06。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报