Android手机天气预报项目报告
android天气预报报告

Android天气预报论文学院: 电子信息工程学院专业: 计算机应用学号: 11033801135学生姓名: 郎红指导教师: 黄炜日期: 2013年11月13一、项目背景现有的3G技术和移动互联网技术的快速发展,智能手机功能的不断增强,让基于Android平台的查询需求越来越多。
本软件就是利用现有的网络快速获取网络上的天气信息并显示到手机终端上,为用户提供实时的天气查询和近期天气查询服务,为工作、出行等带来便利。
通过Web Service等技术让用户体验到前所未有的移动计算。
二、需求分析(一)功能需求在这个综合示例中,有一个显示天气情况的用户界面,可以通过图片和文字显示当前和未来几天的天气状况,包括温度、湿度、风向和雨雪情况等。
这些天气数据是通过后台服务获取的,这个后台服务按照一定时间间隔,从搜索引擎上获取天气预报信息,并将天气信息保存在后台服务中。
示例还需要提供基于SMS短信的天气数据服务,其他手机用户可以向本示例所在的手机上发送SMS短信,在短信中包含特定的关键字,则可以将已有的天气情况通过SMS短信回复给用户。
最后,每个被发送的SMS短信都会被记录下来,用户可以浏览或删除这些记录信息。
(二)界面需求从上面的描述中可以基本了解软件的功能需求,但为了将需求分析过程变得简单明了,首先找出用户界面上需要显示的内容。
功能描述中有“显示天气情况的用户界面”和“用户可以浏览或删除这些记录信息”,除此以外,一般应用软件还应有显示配置信息的界面。
因此,本示例应该包含三个用户界面:显示天气预报的用户界面、显示已发送SMS短信的用户界面、浏览和设置配置信息的用户界面(三)内部功能从用户界面出发,分析隐藏在界面后面的内部功能,这些功能则是程序正常运行的基础(1)显示天气预报的用户界面;①获取搜索引擎的天气数据②保存天气数据信息(2)显示SMS短信的用户界面①根据关键字监视SMS短信②发送包含天气信息的SMS短信③将发送SMS短信的相关信息写入数据库(3)浏览和设置配置信息的用户界面①将用户设置的配置信息保存到数据库②启动时读取数据库中的配置信息③支持恢复缺省设置三、程序设计(一)用户界面设计根据需求中的用户界面分析,应用程序应包含三个主要的用户界面,每个用户界面的显示内容在“显示天气预报的用户界面”中,显示目标城市的当前的天气状况,包括城市名称、温度、湿度、风向、雨雪情况和获取数据时间等信息。
需求分析报告书-基于Android手机移动天气预报系统.doc

文档编号:第1.0版分册名称:第1 册/共 1册基于Android手机移动天气预报系统需求分析报告书修改履历目录1 引言.......................................................... 错误!未定义书签。
1.1编写目的............................................................................................. 错误!未定义书签。
1.2项目背景............................................................................................. 错误!未定义书签。
2 任务概述 ................................................. 错误!未定义书签。
2.1开发目标&应用目标.......................................................................... 错误!未定义书签。
2.2运行环境............................................................................................. 错误!未定义书签。
2.3关键词................................................................................................. 错误!未定义书签。
3 功能要求 ................................................. 错误!未定义书签。
3.1 功能划分............................................................................................ 错误!未定义书签。
Android智能手机天气预报系统设计及实现

Android智能手机天气预报系统设计及实现Android智能手机天气预报系统设计及实现随着智能手机的普及和移动互联网的发展,天气预报成为人们生活中必不可少的一部分。
为了提供准确、实时的天气预报信息,我设计并实现了一款Android智能手机天气预报系统。
一、系统需求分析在进行系统设计之前,我们首先要对系统的需求进行分析。
用户希望通过使用这款手机应用程序,获得当前实时的天气情况和未来几天的天气预报。
为了实现这些功能,系统需满足以下几个基本需求:1. 实时更新:系统需要能够获取最新的天气数据,并实时更新天气信息。
2. 界面友好:系统的界面应该简洁、直观,易于使用,用户能够快速理解天气信息。
3. 准确可靠:系统需提供准确、可靠的天气预报信息,避免给用户带来不便。
二、系统设计方案考虑到这些需求,我设计了如下的系统架构:1. 数据来源:系统需要从可靠的天气数据源获取天气数据。
目前,一些广为使用的天气API,如和风天气、心知天气等,提供了丰富的天气数据接口。
系统将通过调用天气数据接口获取天气信息。
2. 数据存储:系统将通过本地数据库(如SQLite)对天气数据进行存储,保证数据的可靠性和持久性。
同时,系统还需要定期清理过期数据,以保持数据库的合理大小。
3. 用户界面设计:系统的用户界面设计应考虑用户体验和操作便捷性。
首页将显示当前的天气情况(如温度、湿度、风力等),并提供未来几天的天气预报。
用户可以滑动屏幕查看更多的天气预报信息。
4. 自动定位:为了提供准确的天气信息,系统将使用手机的GPS功能进行自动定位,获取当前用户所在地的经纬度信息。
5. 后台更新:为了保证系统能够及时更新天气信息,系统将在后台周期性地获取最新的天气数据,并更新到本地数据库。
同时,用户还可以手动刷新天气信息,以获取最新的天气预报。
三、系统实现过程根据系统设计方案,我使用Android Studio进行系统的开发和实现。
具体步骤如下:1. 获取天气数据:通过调用和风天气提供的API接口,我可以获得包括温度、湿度、风向、风力等在内的详细天气数据。
Android天气预报系统文档

[键入公司名称]实训课程设计天气预报程序xx2011/12/291项目任务概述1.1项目背景随着3G时代的到来,移动互联网成为Internet下一个热点,android可以很好的使用Internet,获取网站上的数据,android天气预报系统就利用这一方式为用户提供服务。
天气预报的主要功能是为用户提供今日以及未来两天的天气预报。
1.2 项目任务本项目实现在 Android移动设备天气预报功能,系统根据用户输入的地址,在Internet上请求获得该地址的天气情况,并发回数据,在系统调用该数据后,将天气实况显示给用户。
2需求分析用户可以使用该系统实现日记的编写,修改和删除,日记内容阅读以及以文本文档形式将日记导入SDcard中。
2.1总体用例图查看当日天气预报查看未来两天天气预报查看地理信息图12.2 天气预报用例图查看当日天气预报2.3天气预报业务流程输入地址选择列表item进入系统进入今日预报页面退出系统图2用户通过点击桌面图标,进入系统。
再通过在文本框中输入的地址,来进入当天天气预报界面。
再点击箭头按钮,页面跳转到未来两天天气预报的界面。
2.4 查看未来两天天气预报用例图2.5 查看未来两天天气预报流程图图22.6 查看地理信息用例图查看未来两天天气预报输入地址选择列表item点击按钮进入系统进入今日预报页面进入明日预报界面退出系统2.7查看地理信息流程图图33 系统设计3.1 天气预报系统UI——登录界面查看地理信息点击MENU 选择MENU 查看地理信息回到系统图43.2天气预报UI——登录界面说明在此界面中,正如大家所见。
含有两个TextView组件,一个ImageView组件,一个AutoCompleteTextView,其字符大小分别是默认的大小。
其中AutoCompleteTextView能够给用户提供选项列表,用户只要单击列表中的一项,此页面就回自动跳转到下一页面。
3.3 天气预报UI——今日天气预报界面图5 图63.4天气预报UI——今日天气预报界面说明此界面中分别含有六个TextView组件,五个ImageView组件,一个ImageButton 组件,一个Menu,在此布局文件中有五个相对布局。
天气预报应用实现实验报告

import org.json.JSONException;
import org.json.JSONObject;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
private String CityName = "changsha";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.activity_main);
<service android:name=".PollService" />
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="c3577cda13d56a019a5a0beb1ec777a4"/>
<!--定位服务声明:-->
if (cns.getCtiyName().equals("")){
//往数据库city表中写入初始值beijing
import .HttpURLConnection;
import .URL;
public class MainActivity extends AppCompatActivity {
private int which;
基于Android的天气预报APP的设计与实现

基于Android的天气预报APP的设计与实现基于Android的天气预报APP的设计与实现一、引言如今,移动互联网的飞速发展使得人们获取信息的方式更为便捷。
天气预报是人们日常生活中特别关注的内容之一。
为了满足用户对天气信息实时性、准确性的需求,开发一款基于Android平台的天气预报APP显得尤为重要。
本文将围绕这一主题展开,介绍该APP的设计与实现过程。
二、需求分析为了更好地满足用户的需求,我们首先进行了需求分析。
通过问卷调查以及市场调研,我们发现用户对天气预报APP的需要主要包括以下几个方面:1. 实时更新的天气信息:用户希望能够随时获取最新的天气信息,包括温度、湿度、风力等。
2. 多地区选择:用户希望能够预测不同地区的天气情况,以便进行出行安排。
3. 友好的用户界面:用户界面应该简洁明了,操作方便,具有良好的用户体验。
4. 天气趋势分析:用户希望能够查看未来几天的天气情况,以便合理规划活动。
基于以上需求,我们着手设计和实现这款APP。
三、系统设计在设计阶段,我们首先进行了系统架构的设计。
整个系统分为前端和后端两部分。
1. 前端设计:前端主要负责用户交互和数据展示。
我们采用了Android Studio作为开发工具,使用Java进行编码。
主要包括城市选择、天气信息展示和天气趋势分析等功能。
2. 后端设计:后端主要负责数据的获取和处理。
我们使用了和风天气API作为天气数据的来源,通过其提供的接口获取实时的天气数据。
四、系统实现在系统实现阶段,我们按照系统设计的架构开始编码工作。
1. 城市选择:用户可以通过输入城市名称或定位功能选择所需查询的城市。
通过与和风天气API交互,获取该城市的天气数据。
2. 天气信息展示:将从后端获取到的天气数据进行解析,并在界面上展示出来。
包括当前的温度、湿度、风力等,以及一些天气建议等。
3. 天气趋势分析:通过和风天气API提供的未来几天的天气数据,我们可以将这些数据进行处理,并在界面上以图表等形式呈现出来,帮助用户更加直观地了解未来几天的天气情况。
Android智能手机天气预报系统设计及实现

Android智能手机天气预报系统设计及实现Android智能手机天气预报系统设计及实现一、引言随着智能手机的广泛普及,天气预报成为人们日常生活中必不可少的信息之一。
为了满足人们对天气预报的需求,并利用现有的科技手段,本文设计并实现了一款Android智能手机天气预报系统。
二、系统需求分析1.功能需求:(1)实时天气查询:用户可以随时查询当前位置的实时天气情况,包括温度、湿度、风力等指标。
(2)天气预报查询:用户可以查询未来一周的天气预报情况,了解每天的温度变化、降水概率等信息。
(3)城市切换:用户可以切换查询城市,系统能够自动定位用户当前位置。
(4)数据更新:系统能够实时更新天气数据,保持数据的准确性和及时性。
2.性能需求:(1)响应速度快:系统需要实时响应用户的查询请求,保证用户的使用体验。
(2)界面友好:系统的界面要友好美观,操作简单,方便用户进行查询操作。
(3)数据准确:系统拉取的天气数据需要准确无误,不能有误导用户的情况出现。
(4)占用资源低:系统需要尽可能减少对手机资源的占用,避免影响手机的正常使用。
三、系统设计1.软件架构:系统采用MVC(Model-View-Controller)软件架构,将视图、逻辑处理和数据模型分离,提高代码的复用性和可维护性。
2.界面设计:系统采用流行的Material Design风格,界面简洁明了,采用卡片式布局展示天气信息。
主界面包括一个搜索框和实时天气展示模块,用户可以在搜索框输入城市名称进行查询。
查询结果以卡片形式呈现,包括日期、天气图标、温度范围等信息。
3.数据获取和处理:系统使用第三方天气数据API,通过HTTP协议从服务器获取天气数据。
获取到的数据为JSON格式,系统解析JSON数据并提取所需字段,如温度、湿度等。
4.功能实现:(1)实时天气查询:系统获取用户输入的城市名称,并使用API发送请求获取实时天气数据,然后将数据展示在界面上。
同时,系统会定时刷新数据,保持实时性。
安卓天气预报开题报告doc

安卓天气预报开题报告篇一:基于安卓的系统开题报告本科生毕业设计(论文)开题报告论文题目:基于Android平台的学生教务信息系统设计与实现学院:基于Android平台的学生教务信息管理系统一、课题的研究目的和意义学生教务系统是一个学校学生管理中不可缺少的一部分,对于学校的管理者以及学生本身来说都至关重要。
互联网的普及和网上教务系统的更趋向于成熟化,系统应该为学生用户提供更加方便的查询手段与信息管理方式。
而计算机的不可移动性及系统本身繁琐的登陆认证、查询操作使系统使用带来不方便。
开发一款基于智能手机平台、功能简单、可随时利用无线网络进行在线选课、成绩查询、了解校园资讯的软件,为学生提供方便、可移动、准确的服务在安卓手机的逐渐普及下,越来越多的学生接触并使用安卓系统的移动终端,例如,成为学生生活中的重要工具。
在校园内,学校校园网站为学生提供学生课程表、学生选课、学生成绩等信息管理,为学生的校园生活提供直接信息,随着移动互联网络的发展,学生大都采用手机进行随时随地上网,登陆校园网来了解自己的校园信息,但是智能手机无论从执行效率、内存大小、屏幕大小以及操作方式都与计算机有很大差别,如果单纯用智能手机里浏览器通过网址连接校园网站获取信息,如同计算机里显示样式一样,就会给智能手机带来一定的负担。
因此为了使学生更好的利用手机方便学习与校园生活,开发基于Android平台的智能移动终端应用软件,依托移动互联网络和校园网站,让学生可以随时随地了解校园生活和学业信息,极大地方便学生。
2.国内外发展状况Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
Android 操作系统最初由Andy Rubin开发,主要支持手机。
XX年8月由Google收购注资。
XX年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发目标现有的3G技术和移动互联网技术的快速发展,智能手机功能的不断增强,让基于Android平台的查询需求越来越多。
本软件就是利用现有的网络快速获取网络上的天气信息并显示到手机终端上,为用户提供实时的天气查询和近期天气查询服务,为工作、出行等带来便利。
通过Web Service 等技术让用户体验到前所未有的移动计算。
第2章项目设计项目总体设计本软件是一个App Widget应用程序,启动程序后可以进行城市、更新频率的设置,可以通过图片和文字显示当前和未来的天气状况,包括温度、湿度、风向和雨雪情况等。
这些天气数据是通过后台服务获取的,这个后台服务可以按照一定的时间间隔,通过Google提供的服务获取天气预报信息,并将天气信息保存在数据库中。
该软件的基本功能需求有:(1) 启动App Widget应用程序;(2) 设置界面:对要显示天气预报的城市及更新频率进行设置;(3) 显示界面:通过文字和图片显示当前的天气情况,包括日期、时间、城市、最高温度、最低温度、当前温度等。
(4) 详细界面:在显示出“显示界面”上所有信息的同时用列表的形式显示今后四天的天气情况。
技术框架设计开发环境Android的上层应用程序是用Java语言开发的,一般情况下是基于Dalvik虚拟机的,所以Google公司推荐使用主流的Java集成开发环境Eclipse。
而用Java语言进行开发,需要用到SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。
此外,Android的应用程序开发和Java开发有较大区别的,需要使用Google提供的Android SDK。
同时,要在Eclipse上安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse 下开发工具的升级或下载的工具。
简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。
(1) Java SDK(2) Eclipse(3) Android SDK(4) ADT技术支持本软件使用基于SOAP(简单对象访问协议)的Web Service技术来实现与服务器端的信息交互,获取网络上的数据。
Web Service使用基于XML技术的消息处理,作为基本的数据通讯方式。
Web Service建立在一些通用协议的基础上,如HTTP、SOAP、XML、WSDL、UDDI 等。
各应用程序通过网络协议和规定的一些标准数据格式(HTTP、XML、SOAP)来访问Web Service。
而所有的SOAP消息都使用XML编码。
一条SOAP消息就是一个包含有一个必需的SOAP的封装包,一个可选的SOAP标头和一个必需的SOAP体块的XML文档。
XML文档在Android平台上的解析可以通过SAX的方式方便快速的完成。
解析Android应用程序中获得的列表数据XML文件,对XML文件中的数据实现分离,得到指定的所需要的信息,然后执行存入数据库或显示到页面等相应的处理。
Android的开发组Activity、Intent Receiver、Service、Content Provider等,可以实现不同页面之间的跳转;数据的获取和实现与数据库的实时交互;不同页面和进程间数据的共享。
数据库设计本软件中有两部分数据需要存储,一个是显示页面的数据,另一个是详细页面的数据。
但是数据量都不是很大,因此可以选择SQLite数据库作为存储数据的方法,建立数据库,并且建立两张表weather_widget和weather_forecast,分别存储显示页面的数据和详细页面的数据。
表2-1 详细页面的数据库表weather_forecast的结构表2-2 显示页面的数据库表weather_widget的结构postalCode text城市标记forecastDate integer预报日期condition text当前天气情况tempF integer最高温度tempC integer最低温度humidity text当前湿度icon text天气图标windCondition text风向风速情况lastUpdateTime integer最后一次更新时间功能模块设计从功能需求上分析可以看出,整个应用程序应划分为4个模块,分别是程序启动、用户界面、后台服务和数据库适配器,各模块之间的关系如图2-1所示。
图 2-1 各功能模块间的关系从模块结构图中不难看出,后台服务是整个应用程序的核心,主要是“数据获取模块”,负责周期性的从Google获取天气信息。
后台服务在程序启动时就由AppWidgetProvider 启动,也可由用户界面通过startService()进行启动,启动后的后台服务将一直保持运行状态。
用户界面是从数据库中获取天气信息,而没有直接通过网络访问Google的天气数据。
这样设计,一方面可以避免因网络通信不畅而造成界面失去响应;另一方面,后台服务可以及时更新数据,以保证数据的准确性。
数据库适配器封装了所有对SQLite数据库操作的方法,用户界面和后台服务会调用它来实现对数据库的操作。
第3章项目功能描述系统主要功能本软件要完成在android手机上实现天气的即时预报。
所涉及的功能有:1.启动程序后可以进行城市、更新频率的设置;2.可以通过图片和文字显示当前和未来的天气状况,包括温度、湿度、风向和雨雪情况等。
使用效果图实现与相应天气的结合。
3.这些天气数据是通过后台服务获取的,这个后台服务可以按照一定的时间间隔,通过Google提供的公共接口获取天气预报信息,并将天气信息保存在本地数据库中。
系统各模块具体实现3.2.1 文件结构与用途在程序开发阶段,首先确定“Android手机天气预报软件”的工程名为ty-weather,据程序模块设计的内容,建立ty-weather工程。
工程源代码的结构如图3-1所示。
图3-1 ty-weather工程的源代码文件结构为了使源代码文件的结构更加清晰,Weather工程设置了多个命名空间,分别用来保存用户界面、数据库、后台服务和工具实体的源代码文件。
源代码文件的名称以及说明如表3-1所示。
表3-1 ty-weather工程的文件用途说明Android的资源文件保存在/res的子目录中。
其中、/res/anim目录中保存的是产生动画效果的XML文件,/res/drawable/目录中保存的是图像文件,/res/values目录中保存的是用来自定义字符串和颜色的文件,/res/xml目录中保存的是XML格式的数据文件。
所有在程序开发阶段可以被调用的资源都保存在这些目录中,具体每个资源文件的用途可以参考表3-2:数据提供者数据提供者ForecastProvider继承ContentProvider,是在应用程序间共享数据的一种接口机制。
应用程序在不同的进程中运行,因此,数据和文件在不同的应用程序之间是不能够直接进行访问的。
而ContentProvider为程序员提供了较高级的数据共享方法,应用程序可以指定需要共享的数据,而其他应用程序则可以在不知数据来源、路径的情况下,对共享数据进行查询、添加、删除和更新等操作。
在创建ForecastProvider时,首先需要使用数据库、文件系统或网络实现底层存储功能,这里我们采用数据库建立了数据库设计中的两张表,从而实现了底层存储功能。
然后在继承ContentProvider的类中实现基本数据操作的接口函数,包括添加、删除、查找和更新等功能。
(1)创建数据库:DatabaseHelper类继承SQLiteOpenHelper,SQLiteOpenHelper这个类可以辅助建立、更新和打开数据库。
DatabaseHelper在建立数据库时,同时建立了两个数据库表weather_widget和weather_forcast,并对保存配置信息的表进行了初始化。
(2)URI设置:ContentProvider可以提供多个数据集,调用者使用URI(通用资源标识符)对不同的数据集的数据进行操作。
URI用来定位任何远程或本地的可用资源。
ContentProvider 使用的URI语法结构,我们就需要先来对URI进行设置。
(3)查询功能:执行数据的查询功能主要用到SQLiteQueryBuilder的query()方法。
Query(SQLiteDatabase db,String[] projectionIn,String selection,String[]selectionArgs,String groupBy,String having,String sortOrder,String limit),参数说明如下表3-3所示:表 3-3 query()方法的参数说明(4)添加、删除、更新功能,对数据库表中存放的天气等信息进行有效的管理。
添加功能:public Uri insert(Uri uri, ContentValues values){}。
删除功能:public int delete(Uri uri,String selection,String[] selectionArgs){}。
更新功能:public int update(Uri uri,ContentValues values,String selection,String[] selectionArgs){}。
(5)类型匹配:增删改查通过switch判断,进行不同的操作,因而还需要对关键字进行类型匹配。
后台服务后台服务是ty-weather工程的核心模块,在用户启动后持续在后台运行,直到用户停止服务。
后台服务主要有三个功能:一是周期性的获取Google的天气数据并存储到SQLite,二是从SQLite读取出要显示的数据,三是定时更新“显示页面”的时间。
(1) 获取天气数据天气数据的获取天气数据分为以下三个步骤:1.从Google提供的Web Service中获取的天气数据,数据的获取地址是: &hl=zh-cn。
2.调用轻量级XML解析器XmlPullParser对从网络上获取的字节流数据进行解析,并且将解析结果保存在WidgetEntity对象中。
3.将解析好的数据存储到SQLite数据库中。
其过程是:使用ContentResolver对象,通过URI间接调用ContentProvider,使用ContentResolver对象与ContentProvider进行交互,而ContentResolver则通过URI确定需要访问的ContentProvider的数据集。
调用关系如下图3-2所示。
ContentProvideContentResolver URI文件系统数据库网络图3-2 ContentProvider的调用关系(2) 读取天气数据实例通过()方法操作数据库取出所需要的数据。