基于Android的天气预报系统的设计和实现
目录
摘要 … 1
需求分析 … 2
一、开发背景… 2
二、项目需求分析… 2
总体设计 … 2
一、系统规划… 2
二、系统功能界面… 3
- 设置预报城市界面:… 3
2.天气显示界面: … 4
3.Widget 桌面小部件界面:… 5
三.设计目标… 6
系统设计 … 6
一、开发及运行环境… 6
二、数据库设计… 6
三、主要方法及步骤… 7
四、主要方法及技术… 7
主要模块 … 7
一、项目框架… 7
二、主要功能实现… 8
1.获取城市码 db_weather.db 数据库文件… 8
2.实现可伸缩性列表的的构建与过滤 … 12
3.GPS 定位功能的实现 … 15
4.Widget 窗体小部件的更新 … 18
功能测试 … 19
结论 … 23
在 Google 和 Android 手机联盟
的共同推动下,Android 在众多移动应用开发平台中脱颖而出。Android 是一个
真正意义上的开源智能手机操作系统,该系统一经推出立即受到全球移动设备厂
商和开发者的热捧。为顺应潮流,本设计旨在搭载 Android 的移动设备上运行,
实现天气状况的实时动态更新与显示,方便人们的出行与生活。
二、项目需求分析
根据功能的需求,分析此项目的主要功能应具备以下几点:
- 精确查询定位全国各地城市未来几天内的实时天气状况
- 系统要具的实用性,符合用户查看信息习惯,界面设计优美
- 系统要具有稳定性,且在一定程度上节省流量的开销
总体设计
一、系统规划
由上述的需求,现将系统分为三大模块:天气显示界面模块、预报城市设置
模块与 Widget 桌面小部件模块。各系统模块功能如下:
1). 天气显示界面模块
显示指定城市三天内的天气状况,包括日期、城市名称、温度、风力与当
日的建议,用户可通过按菜单键来显示菜单更新当前天气与设置天气显示的界面
背景,以及跳转至设置预报城市界面来更换预报城市。
2). 预报城市设置模块
由自动设置预报城市与手动设置二部分组成,自动设置实现 GPS 定位功
能,自动确定当前用户所在地;而手动设置则通过可伸展性下拉列表单击选择系
统数据库中预存的城市来进行设置,同时为了方便用户查找,支持以输入框的形
式来过滤查询预报城市。当单击选中城市时跳转至天气显示界面,来显示该城市
当三天内的天气状况;第一次运行时自动跳到该界面。
3). Widget 桌面小部件模块
为了方便用户实时了解天气状况,特别添加在 Android 系统桌面上显示
当前天气与时间的天气小部件,使用户拿起手机的第一时刻就能了解天气,同时
当用户单击小部件时,自动跳转至天气显示界面,显示三天内的详细天气。
//根据经纬度得到详细的地址信息
//定义的一个网络访问工具类
WebAccessTools webTools = new WebAccessTools(this);
String addressContext = webTools.getWebContent
("http://maps.google.cn/maps/geo?output=xml&q="+
latitude+","+longitude);
//解析地址信息
SAXParserFactory spf = SAXParserFactory.newInstance();
try {SAXParser parser = spf.newSAXParser();
XMLReader reader = parser.getXMLReader();
LocationXMLParser handler = new LocationXMLParser();
reader.setContentHandler(handler);
StringReader read = new StringReader(addressContext);
// 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
InputSource source = new InputSource(read);
//开始解析
reader.parse(source);
//判断是否存在地址
if(handler.hasAddress())
return handler.getDetailAddress();
} catch (Exception e) {e.printStackTrace();
}
基于Android的天气预报系统的设计和实现相关推荐
- 基于Android的天气预报系统的设计与实现
目 录 1 绪论 1 1.1课题研究背景及意义 1 1.2国内外研究动态 1 1.2.1国外发展现状 2 1.2.2国内发展现状 3 1.3论文研究的主要内容 3 1.4论文组织结构 4 2 系统关键 ...
- 基于android的视频采集系统的设计与实现,基于Android的视频通话系统的设计与实现.docx...
基于Android的视频通话系统的设计与实现 基于Android的视频通话系统的设计与实现摘 要近年来,智能手机操作系统发展迅速,尤其是Android系统的迅猛发展已经将全球智能手机市场引领到了非常火 ...
- 基于Android的理财app开发,基于Android的个人理财系统的设计与实现.doc
毕业论文(设计)题目: 基于Android的个人理财系统 ---设计与实现 学生姓名: 学 号: 专业班级: 计算机科学与技术092班 指导教师: 职称 副教授 指导教师: 职称 起止时间: 目 录 ...
- 基于android的个人理财的论文,基于Android的个人理财系统的设计与实现毕业论文.doc...
毕业论文(设计)题目: 基于Android的个人理财系统 ---设计与实现 目 录 诚 信 声 明3 本科毕业论文(设计)选题审批表4 本科毕业论文(设计)任务书5 本科毕业论文(设计)开题报告7 本 ...
- 基于Android公交查询系统的设计与实现(论文+程序设计源码+数据库文件)
[摘 要]随着互联网的技术的不断更新发展,人们生活节奏也在不断的加快,对于网络的依赖也越来越紧密,尤其是在等公交,经常会错过班次,但又不知道,下次班次几点发车,这样会导致乘客花掉大把时间在等待,如果可 ...
- android 个人理财系统,基于Android的个人理财系统的设计与实现
摘要: 在当今,全球经济的蓬勃发展带来了金融理财领域的巨大变革和创新,新的金融理财工具和理财观点层出不穷.对个人而言,从认识钱到管理钱(个人理财)是每个人的必修课.在Android系统应用如此火热的情 ...
- android 智能家居开发,基于Android智能家居系统的设计与实现
摘要: 近年来,移动互联网技术的进步和智能终端设备的普及促进了智能家居产业的发展.同时,伴随着Android系统在手机.平板中广泛应用,人们通过一个Android设备远程控制家电设备,将与生活密切相关 ...
- 基于android的理财软件技术,基于Android的个人理财系统的设计与实现
摘要: 在当今,全球经济的蓬勃发展带来了金融理财领域的巨大变革和创新,新的金融理财工具和理财观点层出不穷.对个人而言,从认识钱到管理钱(个人理财)是每个人的必修课.在Android系统应用如此火热的情 ...
- 基于android手机选课系统的设计与实现
一.选题目的及意义 移动端APP的使用弥补了计算机的不可移动性及系统本身繁琐的登录认证.查询操作使系统使用带来不方便.学生可随时利用无线网络进行在线选课.课表查询.查看校园网信息,为学生提供方便.可移 ...
- android教务系统框架,基于Android的教务系统的设计与开发
摘要: 随着我国高等教育的不断发展,高校教学与教务管理要实现科学管理,必须注重以人为本的理念.正是考虑到此,就应该建设基于移动网络的高校教务管理系统,以满足高校师生的现实需求.本文分析了C/S和B/S ...
最新文章
- vim——打开多个文件、同时显示多个文件、在文件之间切换
- Javascript获取url参数值
- linux week3
- Python多线程3:queue
- Java设计流程执行器_Java进阶面试精选系列:SpringMVC+SpringBoot+Hibernate+Mybatis+设计模式...
- https脚本调linux执行器,linux平台下一键配置网站https
- cstring越界_CString 内核
- python网盘系统_Python最新全套视频教程百度网盘资源
- UnityGI2:Lightmaps
- AS函数的一些特殊应用
- Mysql数据库的mysql Schema 究竟有哪些东西 手工注入的基础要领
- 开源实时视频码流分析软件 VideoEye
- 利用5次shift漏洞破解win7密码
- 在线版和离线版电路仿真以及开源电子硬件设计介绍
- Twitterrific for Mac(Twitter客户端)
- python 爬取doc文档
- 最全iPhone启动图尺寸(包含 XS Max XR)
- google账号解除游戏绑定_如何把已经玩过的游戏绑定谷歌账号,要在谷歌play内操作的话...
- 【程序源代码】一个安卓查询类app制作的​开源项目
- LM324LM358放大器的设计问题
热门文章
- python3.8零基础入门教程_正版 Python 3.8编程快速入门 针对wan全零基础入门的读者 采用*小化安装+极简代码的教学...
- 夕甲甲——孔乙己之C++版
- ttl接地是高电平还是低电平_说明图3.12中各门电路的输出是高电平还是低电平。已知它们都是74HC系列的CMOS电路 简单的逻辑门电路 判断各门电路...
- 南朝皇帝简介-20170604
- 如果你突然打了个喷嚏,那
- vue移动端点击事件延迟_如何解决移动端Click事件300ms延迟的问题?
- Postman团队协作开发
- python爬虫—爬取taptap游戏的评论信息(通过fiddler抓包)
- 电脑更换硬盘应该注意什么?
- java二维数组货柜,装箱布局三维可视化控件开发sup*/sup