基于Android的天气预报短信系统的毕业设计说明书.doc
《基于Android的天气预报短信系统的毕业设计说明书.doc》由会员分享,可在线阅读,更多相关《基于Android的天气预报短信系统的毕业设计说明书.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、信息工程学院本科生毕业设计说明书题目:基于Android的天气短信系统的设计与实现姓 名:丁柏林学 号:2011110262专业:计算机科学与技术班 级:11计科2班指导教师:房爱东 目 录1 系统概述11。1 设计目的11.2 设计思路11.3系统需求分析11.4开发环境21.4.1 Android开发环境的介绍21.4.2 Android的开发平台搭建21.5 运行环境31.6 参考文献32。总体设计42.1系统结构42。1.1 系统流程图42。1。2 模块结构图42.2数据库的设计52.3 模块功能设计62。3。1 获取当前天气功能62.3。2 选择城市的功能62。3。3 发送短信的功能
2、63。运行设计73.1用户界面设计73。2 运行代码94.系统测试254。1功能性测试254。2 稳定性测试274.3 安全性测试275 结论282015届本科生毕业设计说明书 系统概述1 系统概述近几年来随着3G 技术成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。在Google和Android 手机联盟的共同推动下,Android在众多移动应用开发平台中脱颖而出。Android是一个真正意义上的开源智能手机操作系统,该系统一经推出立即受到全球移动设备厂商和开发者的热捧。为顺应潮流,本设计旨在搭载 Android 的移动设备上运行,实现天气状况的实时动
3、态更新与显示,并将显示的天气可以发短信给指定的联系人.1.1 设计目的天气软件是一种非常实用的信息服务,随着智能手机的不断普及,各种智能手机平台下都有各种各样的天气软件。Android作为现在主流的智能手机之一,自然也需要这方面的软件.天气关系到人们的日常生活,如告知温暖,方便出行等.此外,对未来天气的预测你还可以指定发短信给家里不会上网的父母,帮助父母进行农作物的浇灌、施肥、收割等工作.1。2 设计思路天气短信这个设计不算复杂,我先在eclipse里面把系统的主界面写好,然后先是联网解析从360天气预报端口读取来的数据,数据解析完了在本地创建数据库,把联网解析的数据保存在本地,减少流量的使用
4、。之后就是选择想要的城市来获取当前城市未来的天气情况,并把天气情况编辑成样例短信,最后选择联系人在指定的时间发送短信,最后就是短信发送成功之后会提醒的消息推送通知。1。3系统需求分析本软件是一个基于Android的应用程序,启动程序后可以进行城市的选择设置,可以通过文字显示当前和未来的天气状况,包括温度、湿度、风向和雨雪情况等。这些天气数据是通过后台服务获取的,这个后台服务可以按照一定时间间隔,从360上获取天气预报信息,并将天气信息保存在数据库中。可以选定指定的联系人并且设置指定的时间发送天气短信给对方.从上面的描述中可以基本了解软件的功能需求:(1)启动Android的应用程序;(2)设置
5、界面:对要显示天气预报的城市进行设置;(3)显示界面:通过文字显示当前的天气情况,包括日期、时间、城市、最高温度、最低温度、当前温度等。而且可以选定指定的联系人在指定的时间发送天气短信给对方。1.4开发环境1。4。1 Android开发环境的介绍Android平台使用Java编程语言来开发应用程序,而Android提供了对Java的核心支持。考虑到Java虚拟机的执行效率和占用资源情况,Google重新设计了Java的编译器,命名为Dalvik.Dalvik是经过优化的Java编译器,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行,独立的
6、进程可以防止在虚拟机崩溃的时候所有程序都被关闭。项目的开发在Eclipse环境中进行,由于进行的是Android应用程序的开发,需要在Eclipse安装ADT插件,即Android开发工具,这样Eclipse就可以和Android SDK建立连接,在Eclipse中启动Android模拟器、调试程序等工作.由以上分析可知,Android平台的搭建需要Android SDK、Java SDK、Eclipse和ADT四个软件.1.4。2 Android的开发平台搭建在进行Android应用程序的开发前,要先搭建Android平台,然后才能在开发环境中进行编程。根据官方指导,对Android平台的搭
7、建过程介绍如下:首先,在官方网址上下载JDK6。0并安装,网址是然后,在官方网址上下载更新的SDK进行安装,官方网址为http:/development。android。com/sdk/index。html,下载完后解压到指定文件夹,启动SDK Manager进行安装,选择需要的Android版本,然后更新,这次更新需要的时间比较慢,所以更新前要做好准备。安装完成后,将ADB命令所在的目录platform-tools的完整路径添加到系统的环境变量PATH中,就能够在命令中使用ADB命令了;接下来要安装的是ADT插件,即Android开发工具。因为ADT在线安装容易遇到问题,增加一些不必要的麻烦
8、所以需要下载后在本地安装。指定网址为http:/development。最后,下载Eclipse,建议选择Eclipse3.4以上版本,网址为http:/www.eclipse.org/downloads/,解压到指定位置后运行。选择Eclipse菜单中的HelpInstall New Software选项卡上的Available Software,点击右侧的Add,然后在Name框中填写Android,在Location框中选择上步下载的ADT文件,然后点击OKFinishInstall All,这时关闭Eclipse再重新启动。重启后选择Eclipse菜单中的WindowPreferenc
9、es,在左侧的Android项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。这样,整个平台的搭建工作就完成了.1。5 运行环境运行需要Android SDK、Java JDK、Eclipse和ADT四个软件,以及Android2。2的虚拟机或者真机,操作系统为Windows7的PC机一台1。6参考文献1 王向辉,张国印,沈洁.Android应用程序开发M。北京:清华大学出版社,20122 李刚。 疯狂Android讲义M. 北京:电子工业出版社,20133 明日科技. Android从入门到精通M。 北京:清华大学出版社,20124 李刚. 疯狂Ja
10、va讲义M. 北京:电子工业出版社,20135Y。Daniel Liang. Java语言程序设计(李娜)M。 北京:机械工业出版社,20116邓凡平。深入理解AndroidM. 北京:机械工业出版社,20117 马超,孙仁贵。Android应用开发全程实录M. 北京:人民邮电出版社,20128 刘昌平,范明钰.Android手机的轻量级访问控制J.计算机应用研究,2010,7:201-212。9 张仕成。基于Google Android平台的应用程序开发与研究J。电脑知识与技术,2009:35-59.10 杨丰盛。Android应用开发揭秘M.北京:机械工业出版社,2010252015届本科
11、生毕业设计说明书 总体设计2.总体设计2。1系统结构2.1。1 系统流程图本系统的流程是当我们在桌面上打开软件时进入到用户的主界面,进入主界面后第一次是会让我们选择城市,我们点击城市的下拉列表选中自己想要查询的城市,在我们的短信中会出现该城市的天气并生成样列短信,最后我们设置指定的联系人并设置指定的时间发送短信到指定的联系人,当短信发送成功后我们会收到来自通知栏的消息告诉我们短信已经发送成功。图21系统流程图2。1.2 模块结构图后台服务App启动App启动服务用户界面 设置相关信息天气信息 startService(new Intent)启动服务数据库获取模块360天气预报服务设置联系人和发
12、送时间SQLite数据库获取模块发送短信并返回发送成功的通知图22模块结构图2。2数据库的设计由于在本系统中是通过中央气象台的WebService 提供的API访问得到的天气预报,在查询指定城市的天气时,需要用到它提供的城市码,而城市码相对稳定不变,所以在构建系统时将其事先通过Android的网络访问技术将其缓冲到本地SQLite数据库进行保存起来,方便以后的查询,同时节省了流量开销。综上所述在本地建立db_weather.db的数据库,其中的表结构如下:图2-3数据库表结构其中只存在两个表: provices 和citys City 中存在city_num用天气的查询,同时还存在外键prov
13、ince_id与provices表形成1对n的关系.2.3模块功能设计2.3。1 获取当前天气功能显示指定城市三天内的天气状况,包括日期、城市名称、温度、风力,用户可通过选择城市来获取城市天气,并且可以把天气编辑成短信。2.3.2 选择城市的功能通过手动选择可伸展性下拉列表单击选择系统数据库中预存的城市来进行设置,同时为了方便用户查找,当单击选中城市时跳转至天气显示界面,来显示该城市当三天内的天气状况.2。3.3 发送短信的功能为了使用户能够选择指定的联系人,在界面上加上了选择联系人的输入框,并且还有时间选择,是用户能够设置在指定的时间发送短信给指定的人。2015届本科生毕业设计说明书 运行设
14、计3。运行设计3。1用户界面设计根据需求分析可以知道,应用程序应包含三个主要的功能,这里需要进一步分析每个功能中应该具体怎样实现。在获取网络上的天气服务时应该做到读取未来三天的天气,并把天气转为短信内容示例。当然我们可以选择当前城市的信息,设置省市联动的效果,并且我们可以设置指定联系人的信息和在什么时间发送短信。根据以上的功能分析得到以下的用户界面图:图31主界面布局图32用户主界面图3-3选择省份图3-4选择城市3。2 运行代码根据天气预报系统功能需求分析,系统启动后,应在主界面上呈现出,默认城市的天气数据,因此需要创建主界面和解析天气的类,包括获取、解析城市天气数据,并在用户界面上呈现出来
15、.为此,需要解决的问题是手机终端从Web服务器获取了所有类型的数据之后,将这些数据进一步交给Android手机终端View组件,在手机界面上显示给用户.联网获取天气情况并把天气情况变为样例短信.主要是通过360天气预报的端口从网络上解析数据,并把数据保存到本地的数据库中,在从数据库中调取所需城市的天气,并把天气转为示例代码:/重写callable接口中的方法callSuppressLint(SimpleDateFormat) Overridepublic String call() throws Exception try/这里使用的是360天气预报,比较几个之后,发现这个比较靠谱/url最后
16、的101010100 是指北京,在http:/cdn.weather。hao。360。cn/页面选择想要的城市,url中即可获取城市编码101110908/联网读取天气数据/创建连网使用的客户端连接类httpclient,以及本次请求的封装对象httpgetHttpGet httpGet = new HttpGet(http:/cdn。weather.hao。HttpClient httpClient = new DefaultHttpClient();/执行请求并获取服务器的响应HttpResponse httpResponse = httpClient.execute(httpGet);/
17、获取http的响应码,判断本次连接是否成功if (httpResponse.getStatusLine().getStatusCode() = HttpStatus.SC_OK) /获取响应数据的字符串内容并针对字符串进行拆分String unicodeResult = EntityUtils。toString(httpResponse。getEntity()。split()1.split(”)”)0;/ unicode解码后获取各节点的值/ 获取市/System。out.println(unescapeUnicode(unicodeResult);timestamp=(new JSONObj
18、ect(unicodeResult)。getLong(”time));/System.out.println(timestamp);/通过stringbuffer实现字符串的拼接weatherMsg。append(new JSONObject(unicodeResult)。getJSONArray(area”)。getString(2)。split(”)1)。append(;);JSONArray jsonArray = new JSONObject(unicodeResult).getJSONArray(weather”);for (int i = 0; i jsonArray.length
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 天气预报 短信 系统 毕业设计 说明书
限制150内