基于Android系统的天气预报APP设计
2016-09-25刘玲
刘 玲
(辽宁公安司法管理干部学院,辽宁 沈阳 110161)
基于Android系统的天气预报APP设计
刘玲
(辽宁公安司法管理干部学院,辽宁沈阳110161)
移动互联时代, 随着移动设备的快速发展,手机用户数量不断增加,用户对APP软件的需求也在不断增加。Android是目前智能手机等设备常用的一种操作系统,该系统灵活友好的操作界面深受用户喜爱。本APP项目的主要目的是打造一款基于Android的方便快捷、功能完善的手机天气预报系统。
Android;天气预报;APP
1 系统开发背景
现如今在人们的生活当中,手机已经成为不可或缺的一部分了,特别是当手机从原始的只能接打电话发短信的基本功能更新扩展到现在的智能手机,其越来越被人们所依赖。随着手机的发展以及用户的需求增加,越来越多的手机功能被开发出来并投入应用。Android是以Linux为内核的操作系统和软件平台,它早期及之后的开发分别是由Google和开放手机联盟联合开发,它的基本架构分为4个层次,分别为:底层、系统运行库层、应用程序框架层和应用程序层。
Android是目前智能手机等设备常用的一种操作系统,Android的编程语言为Java,它的变化从接口一直到功能是层出不穷的。Android的基础多媒体框架是Opencore。Android具有蓝牙,WiFi以及通过蜂窝(cellular)连接等多种无线传输的选项。Android的软件栈还可以提供通过加速计及GPS来确定位置的信息。Android的多媒体数据库采用SQLite数据库系统。Android系统中的开发应用程序都是使用Dalvik虚拟机实现的,并且多以Java形式实现。使用Java虚拟机可以实现跨平台运行程序的功能,Dalvik是Java虚拟机中比较常见的一种虚拟机,它具备完善的硬件结构,并且具有具体的操作指令,它的核心内容库大多由C语言实现。每一个Android的应用程序总是对应着一个Dalvik实例,并且它是通过Dalvik虚拟机的解释实现的。
2 系统研究的方法及目标
2.1研究方法
开发者想要做出美观、直接的用户界面,就要使用Android系统的4个组件,它们分别是:活动、服务、广播和内容提供者;在进行页面设计时最好结合使用LinearLayout,RelativeLayout,TableLayout,FrameLayout等组件进行格式上的布局;同时,为了满足个性化的需求,开发者还可以将Fragment与ViewPager搭配使用,充分利用它们完善的功能。天气信息数据方面:可以利用HTTP通信协议请求天气预报数据接口,请求接口时要用异步线程的操作,并使用Android 的DOM解析XML技术解析天气相关数据。对于数据库的设计可以使用DBManager和DBHelper结合构建SQLite数据库并完成数据表中数据的增加、删除、修改、查询等操作。
2.2系统目标
在众多的APP软件中,一款方便快捷、时尚好用的天气预报软件是大多数用户所需要的。本APP的设计目标就是开发一款为大众所喜爱的天气软件。这其中包括可以通过选择要查询的城市来查看所选城市近一个星期的天气情况,天气情况包括风力、温度、温度变化曲线等信息。在为用户提供天气信息的同时也会根据天气的变化来显示温馨提示内容。用户不仅能了解到天气情况,也可以以短信的形式将天气情况发送给他人。本款APP完全满足了用户的需求,极大地方便了用户的出行。
3 系统功能分析
天气类的APP,是一个非常独特的分类,因为苹果把50万应用分为21个类,而天气APP是独立于工具类APP的,并且能和游戏这样的大类平起平坐,可见其重要性。一个天气类的APP首先应该能够为用户提供准确的实时天气信息,而且天气信息应该尽量详细而直观。最好能将天气变化的曲线直观地展示在用户的面前,并且获取天气信息的操作应该相对于用户隐藏,并尽量减少展示界面的不友好,避免发生卡顿现象,提高流畅性。并可以在显示天气的基本功能的基础上添加一些扩展功能,因为有些时候用户会提前查询天气信息,并根据天气信息来调整自己的行程安排。在这里,系统应该将获取的天气信息进行整理并提供给用户,让用户可以做一些简单的操作如设置提醒,分享天气信息等。此外为了满足用户对多个城市天气信息的了解和需求,设置多个关注城市是必须的。结合用户需求,天气预报系统应该具有以下功能。
(1)实时天气查询:可以显示用户所选择城市的实时天气信息和近期天气情况,包括温度、湿度、风力等。
(2)城市管理:为用户实现了添加、删除、更改等显示天气信息城市的功能。
(3)温度曲线:将城市近期的温度整理绘制成可视、直观的温度曲线供用户查看。
(4)出行计划:方便用户建立备忘录,在相应时间点设置出行提醒。
(5)短信分享:主要用于将天气预报中读取的当日天气情况等重要信息,以短信的方式发送给他人。
4 系统总体设计
4.1系统总体功能设计
本天气预报系统具有五大功能:实况天气、城市管理、温度曲线、出行计划和分享天气。
实况天气包括高温、低温、风力风向、天气状况近期天气情况等;城市管理可以对所在城市进行修改、添加关注城市、删除城市等;温度曲线功能整理了所添加的当前城市近期温度变换情况并形成温度曲线;设置出行计划功能给用户提供简捷记录出行,设置定时提醒等便利;分享天气功能可以让用户将天气信息分享给通信录中的其他人。系统结构如图1所示。
图1 系统结构
4.2数据库设计
天气预报系统从网络获取的天气数据并非是一次性的,并且网络天气数据有更新时间间隔。所以需要设计一个数据库对获取的天气数据进行保存。本天气预报系统使用SQLite数据库对天气数据进行管理包括:增加、更新、删除等操作。通过数据库对数据进行管理,提高了数据的复用性,减少了不必要的联网操作,同时提高了系统界面的流畅性。
依据软件工程数据设计规范和系统E-R图(见图2),天气预报系统的数据逻辑模型包含两个数据库文件(city.db和mysql.db)共4个基本表。
城市表(City):id(主键)、城市名(cityname)、首字母(namesort)、城市码(cityid)。
关注城市表(mycity_1):p_id(主键)、城市名(cityname)、城市码(cityid)、状态码(citytap)。
计划表(myplan_1):p_id(主键)、日期(date)、时间(time)、标题(title)、内容(content)。
天气数据表(myweather_1):w_id(主键)、日期、周几、警示语、城市名、更新时间,实时温度、实时天气情况、近期温度(未来5天)、近期天气状况(未来5天)、昨日温度、昨日天气状况。
图2 系统E-R图
5 结语
综上所述天气预报系统所有预期功能都完整地实现,并且达到了预期的运行效果。当然不是所有工作都能按照初期设计实现,为了优化系统性能,达到更好的运行状态,在系统实现过程中对一些实现方法作了修改和补充。比如:在解析xml数据方法选择时并没有使用SAX解析方式,虽然该方法更适合手机应用,但因为本系统所使用的接口数据并不复杂,所以选用简单的DOM解析方式更为方便。
Design of weather forecast APP based on Android system
Liu Ling
(Liaoning Cadre College of Public Security and Administration of Justice, Shenyang 110161, China)
In the mobile Internet era, with the rapid development of mobile devices and the increasing number of mobile phone users, the needs of users towards software APP are also increasing. Android is a kind of commonly used operating system in current smart phones and other devices. The fexible and friendly operation page are popular with users. The main purpose of this APP project is to build a convenient and quick weather forecasting system with perfect function based on Android.
Android; weather forecast; APP
刘玲(1978— ),女,辽宁本溪。