本科毕业论文设计题 目 基于Android平台的天气软件开发
——界面设计及异常处理
指导老师 职称
姓 名 电话 18310836766专 业 计算机科学与技术 班级
院 系 电子信息工程学院完成时间 2012年4月20日
基于Android平台的天气软件开发
——界面设计及异常处理
摘 要
随着科技的发展移动智能终端逐渐走进人们的视线相关应用越来越广泛并在人们的日常生活中扮演着越来越重要的角色。因此关键应用程序的开发成为影响移动智能终端普及的重要因素设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景。Android作为当前最流行的操作平台 自然也存在着大量的应用服务需求。
本课题研究的是基于Android平台下的天气软件 目的是帮助用户随时随地查询天气信息及天气变化情况让生活更加舒适方便。本文详细讲述了Android平台下天气软件的界面设计及异常处理部分主要包括界面的实现、控件的使用、界面的布局和异常的处理等内容结合中国气象网的天气数据将准确的天气情况以友好的方式呈现给用户使用户可以更加赏心悦目地体验本软件的服务。
关键字 Android/界面/控件/天气软件i
ANDROID PLATFORM-BASED WEATHER
SOFTWARE DEVELOPMENT
——VIEWAND EXCEPTION
Ab s trac t
With the development of science and technology, the mobile terminal gradually into the people's attention, related to more widely, and play an increasingly important role in people's daily lives.Therefore, the development of critical applications has become an important factor in the popularity of the mobile terminal, the design and development of practical, convenient application is of great significance and good market prospects.Android as the most popular operating platform, naturally,there are a lot of demand for application services.
The study of this topic is the weather software,based on the Android platform is designed to help the user to query weather information and weather changes anytime, anywhere, to make life more comfortable and convenient.This paper describes the software interface design of the Android platform under the weather and exc eption handling part, inc luding the c ontents of the interfac e implementation,the use of controls, the layout of the interfac e, and exc eption handling, c ombined with weather data of the China Meteoro logic al Association,will be accurate weather conditions presented to the user-friendly way,allows the user to experience more enjoyable the service of this software.
KEY WORDS Android interface control weather software ii
目 录
中文摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .i
英文摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ii
目 录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .iii
1绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.1研究内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.2研究目的和意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.3研究前景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2 Android开发环境及平台搭建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.1 Android开发环境介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.2 Andro id开发平台搭建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3项目分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3.1用户界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3.2异常分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3.3相关技术介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3.3.1 Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3.3.2 Intent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.3.3 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.3.4 Layout布局. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
3.3.5控件介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10iii
4界面设计及实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
4.1加载界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
4.2实时天气界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
4.3未来天气界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
4.4选择城市界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
4.5版权及Lo go设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
5异常处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
5.1联网异常. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
5.2解析异常. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
6界面测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
致 谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36iv
1绪论
1.1研究内容
本文介绍了基于Android平台下天气软件的界面及异常处理部分内容详细介绍了加载界面、实时天气界面、未来天气界面和搜索界面进行界面设计及实现出现异常情况的处理等内容 目的是使用户能够更加赏心悦目地体验此软件带来的服务。通过对界面的布局及控件的应用等相关内容的学习使我们对Android平台下界面开发工作有一个初步的了解并且经过这次开发过程能够基本掌握这些内容。软件开发后能够帮助用户随时随地搜索由中国气象局提供的全国2564个县级以上城市的天气信息并且把数据显示在一个界面美观、布局合理窗口内使用户能够舒适的享受软件带来的服务。
1.2研究目的和意义
天气软件是一种非常实用的信息服务随着智能手机的不断普及各种智能手机平台下都有各种各样的天气软件。Android作为现在主流的智能手机之一 自然也需要这方面的软件。天气关系到人们的日常生活如告知温暖方便出行等。此外对未来天气的预测还可以帮助人们进行农作物的浇灌、施肥、收割等工作。
基于Android平台的天气软件已经有很多经过分析用户第一眼往往是一个软件的外观一个好看的界面才能让用户以一种爱美之心去尝试才能进一步了解一个软件的好坏所以吸引眼球的界面是争取用户的第一步。因此界面设计工作对应用程序来说非常重要在界面上吸引了用户才能进一步让用户体验应用程序中的功能使用这个软件。
1.3研究前景
Android在中国的前景十分广阔首先是有成熟的消费者在国内 Android社区十分红火这些社区为Android在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了Android阵营包括中国移动 中国联通 中兴通讯华为通讯联想等大企业 同时不仅仅局限于手机国内厂家也陆续推出了采用Android系统的产品我们可以预见Android 将会被广泛应用在国产智能上网设备上将进一步扩大Android系统的应用范围。另一方面由于国内政策的限制导致Android的部分功能如Android market在国内无法正常使用目前常用的解决方法是使用VPN服务来访问。
Andro id的主要竞争对手是苹果公司的IOS以及RIM的Blackberry OS。 2011年第一季度Android在全球的市场份额首次超过塞班系统跃居全球第一。2012年2月数据Android 占据全球智能手机操作系统市场52.5%的份额 中国市场占有率为68.4%在美国手机市场的占有率达到了47.3%。到二月下旬Google公司正式宣布 Android设备每天激活量达到85万台通过Google服务器激活的Android设备用户总数突破3亿台距离2012年1月的数量在短短1个月时间内全球共卖出5000万台安卓设备平均每秒钟就卖出15台安卓设备。 Google官方数据显示 Android电子市场Android Market上的应用程序数量已
5
经突破45万个一年内增加30万个。相信在不久的将来会有更多的用户选择Android系统的手机。 Android是以L inux为核心的手机操作平台作为一款开放式的操作系统随着Android的快速发展如今已允许开发者使用多种编程语言来开发Android应用程序而不再是以前只能使用Java开发Android应用程序的单一局面 因而受到众多开发者的欢迎成为真正意义上的开放式操作系统。
6
2 Android开发环境及平台搭建
2.1 Android开发环境介绍
Android平台使用Java编程语言来开发应用程序而Android提供了对Java的核心支持。考虑到Java虚拟机的执行效率和占用资源情况Google重新设计了Java的编译器命名为Dalvik。Dalvik是经过优化的Java编译器允许在有限的内存中同时运行多个虚拟机的实例并且每一个D alv ik应用作为一个独立的L inux进程执行独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。
项目的开发在Eclipse环境中进行 由于进行的是Android应用程序的开发需要在Eclipse安装ADT插件 即Android开发工具这样Eclipse就可以和Android SDK建立连接在Eclipse中启动Android模拟器、调试程序等工作。
由以上分析可知 Android平台的搭建需要Android SDK、 Java SDK、 Eclipse和ADT 四个软件。
2.2 Android开发平台搭建
在进行Android应用程序的开发前要先搭建Android平台然后才能在开发环境中进行编程。根据官方指导对Android平台的搭建过程介绍如下
首 先 在 官 方 网 址 上 下 载 JDK6.0 并 安 装 网 址 是http://www.orac le.c om/tec hnetw ork/java/j avas e/downloads/index.htm l安装后设置系统环境变量JAVA_HOME、 CLASS_PATH、 PATH的值
然后 在官方网址上下载更新的 SDK 进行安装 官方网址为http://deve lopment.android.c om/s dk/index.html 下载完后解压到指定文件夹 启动S DK Manag er进行安装选择需要的Andro id版本然后更新这次更新需要的时间比较慢所以更新前要做好准备。安装完成后将AD B命令所在的目录platform-tools的完整路径添加到系统的环境变量PATH中就能够在命令中使用ADB命令了
接下来要安装的是ADT插件即Android开发工具。因为ADT在线安装容易遇到问题增加一些不必要的麻烦所以需要下载后在本地安装。 指定网址为http://deve lopment.android.c om/s dk/index.html下载存放在指定的位置以便后面使用
最后 下载 Eclipse 建议选择 Eclipse3.4 以上版本 网址为http://www.ec lips e.org/downloads/解压到指定位置后运行。选择Ec lips e菜单中的He lp>Install New Software选项卡上的Available Software 点击右侧的Add,然后在Name框中填写Android在Location框中选择上步下载的ADT文件然后点击OK>F inish>Install All这时关闭Eclipse再重新启动。重启后选择Eclipse菜单中的Window>Preferenc es在左侧的Android项目中SDK Location中填入Android SDK解压后的目录然后点击Apply。
这样整个平台的搭建工作就完成了。
7
3项目分析
3.1用户界面
根据应用程序的功能需要对用户界面做如下分析
1. 加载界面程序开始运行时显示加载界面此界面是应用程序最先展示的窗口所以要尽量保持界面信息简洁突出重点。这里设置为显示学校的名称、英文缩写及版权信息。此界面的作用是不仅将软件的基本信息显示给用户而且在加载的过程中进行数据的初始化工作将应用程序运行时需要的天气信息提前做准备
2. 实时天气界面显示城市当前的实时天气状况包括城市名称、天气描述、温度高低、风速、天气描述图片、获取数据时间、 日期、星期、温馨提示和是否默认城市等信息。此界面是应用程序的主界面所以在设计的时候应尽量使界面美观将天气数据以用户所容易接受的方式呈现出来
3. 未来天气界面对未来6天的天气情况简要描述简要显示星期、天气描述、温度高低等数据使用户一目了然使人们及时了解天气变化对日常生活出行、穿衣做好准备
4. 选择城市界面用户可以根据需要选择全国2564个县级以上城市并查看该城市的天气情况。在选择后用户可以把该城市设置为默认再次打开应用程序就可以直接看到该城市的天气状况。
经过以上分析可知应用程序共需要四个界面即加载界面、实时天气界面、未来天气界面、选择城市界面来实现应用程序中的基本功能。
3.2异常分析
当应用程序中的界面没有正常显示天气数据出现假死或者跑出程序错误时视为程序异常。
经过分析应用程序在连接网络和解析数据时容易出现异常所以在设计的时候应仔细分析原因并且认真对待在出现异常的地方给出具体解决方案使用户享受到更友好的体验。
3.3相关技术介绍
3.3.1 Activity
在Android应用程序中一个活动Activity通常就是一个单独的界面。每一个界面都被实现为一个独立的类并且从Ac tiv ity基类中继承而来 Ac tiv ity将会显示由空间组成的用
8
RepriseHosting是成立于2012年的国外主机商,提供独立服务器租用和VPS主机等产品,数据中心在美国西雅图和拉斯维加斯机房。商家提供的独立服务器以较低的价格为主,目前针对西雅图机房部分独立服务器提供的优惠仍然有效,除了价格折扣外,还免费升级内存和带宽,商家支持使用支付宝或者PayPal、信用卡等付款方式。配置一 $27.97/月CPU:Intel Xeon L5640内存:16GB(原...
快云科技: 12.12特惠推出全场VPS 7折购 续费同价 年付仅不到五折公司介绍:快云科技是成立于2020年的新进主机商,持有IDC/ICP等证件资质齐全主营产品有:香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机产品特色:全配置均20M带宽,架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10阵列, 国内回程三网CN2 GIA,平均延迟50ms以下。...
UCloud优刻得近日针对全球大促活动进行了一次改版,这次改版更加优惠了,要比之前的优惠价格还要低一些,并且新增了1核心1G内存的快杰云服务器,2元/首年,47元/年,这个价格应该是目前市面上最低最便宜的云服务器产品了,有需要国内外便宜VPS云服务器的朋友可以关注一下。UCloud好不好,UCloud服务器怎么样?UCloud服务器值不值得购买UCloud是优刻得科技股份有限公司旗下拥有的云计算服...