![](/uploads/image/0001.jpg)
目录
摘要 1
需求分析 2
一、开发背景 2
二、项目需求分析 2
总体设计 2
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
摘要
Window 操作系统的诞生成就了微软帝国,同时也造就了 PC 时代的繁荣, 然而如今,以 Android 和 iPhone 手机为代表的智能移动设备的发明与互联网云 技术的兴起却敲响了 PC 时代的丧钟!这也预示着移动互联网时代(3G)已经来临。 在这个互联网繁荣的时代,有一颗超新星,以它独特性能优势与人性化的 UI 设计使它在短短的几年迅速的占领了智能移动设备的市场份额,它就是 Google 的 Android!这也意味着 Google 在移动互联网时代开始抢跑并领跑。
Android 是基于 Linux 平台完全开源的手机操作系统,同时开发语言为 Java,这对于 Java 开发的我们是何等的诱人,程序员的技术要与时代同行,因此 我选择了以 Android 为平台的手机天气预报系统来作为我的毕业设计,选择手机 天气预报系统不仅可以提升技术,同时也很实用,为人们时刻了解天气状况和出 行带来了方便。
1
需求分析
一、开发背景
近几年来随着 3G 技术成熟和智能手机的不断普及,移动应用的需求与日俱 增,移动应用开发成为当下最热门的技术之一。在 Google 和 Android 手机联盟 的共同推动下,Android 在众多移动应用开发平台中脱颖而出。Android 是一个 真正意义上的开源智能手机操作系统,该系统一经推出立即受到全球移动设备厂 商和开发者的热捧。为顺应潮流,本设计旨在搭载 Android 的移动设备上运行, 实现天气状况的实时动态更新与显示,方便人们的出
行与生活。
二、项目需求分析
根据功能的需求,分析此项目的主要功能应具备以下几点:
1. 精确查询定位全国各地城市未来几天内的实时天气状况
2. 系统要具的实用性,符合用户查看信息习惯,界面设计优美
3. 系统要具有稳定性,且在一定程度上节省流量的开销
总体设计
一、系统规划
由上述的需求,现将系统分为三大模块:天气显示界面模块、预报城市设置 模块与 Widget 桌面小部件模块。各系统模块功能如下:
1). 天气显示界面模块 显示指定城市三天内的天气状况,包括日期、城市名称、温度、风
力与当
日的建议,用户可通过按菜单键来显示菜单更新当前天气与设置天气显示的界面 背景,以及跳转至设置预报城市界面来更换预报城市。
2). 预报城市设置模块 由自动设置预报城市与手动设置二部分组成,自动设置实现 GPS 定位功
能,自动确定当前用户所在地;而手动设置则通过可伸展性下拉列表单击选择系 统数据库中预存的城市来进行设置,同时为了方便用户查,支持以输入框的形 式来过滤查询预报城市。当单击选中城市时跳转至天气显示界面,来显示该城市 当三天内的天气状况;第一次运行时自动跳到该界面。
3). Widget 桌面小部件模块
为了方便用户实时了解天气状况,特别添加在 Android 系统桌面上显示 当前天气与时间的天气小部件,使用户拿起手机的第一时刻就能了解天气,同时 当用户单击小部件时,自动跳转至天气显示界面,显示三天内的详细天气。
2
二、系统功能界面
1. 设置预报城市界面:
1.1 当第一次运行程序时,跳转至城市设置界面进行预报城市的选择:
1.2 用户可以通过单击选择“定位当前城市”的方式调用系统 GPS 功能自动 定位预报城市:
3
1.3 用户可通过输入框过滤查询当前系统中预存的城市:
2.天气显示界面:
2.1 选择了预报城市后,系统跳转至天气显示界面,显示该城市三天内的实 时天气:
4
2.2 在天气界面中用户可通过按菜单键来调出菜单,选择城市,更新天气与更 换背景:
3.Widget 桌面小部件界面:
方便用户第一时间了解天气动态,添加 widget 显示功能界面:
5
三.设计目标
设计完成一个实用稳定的天气预报系统,同时要廉价使其能滿足大部分用户 的需求,因此针对上述要求,本设计应滿足:
1. 系统能及时的返反馈指定预报城市的天气情况
2. 自动定位用户所在城市,支持 GPS 定位
3. 节省流量开销,规定在指定的时间间隔内才更新天气,其它时段显示缓 存的天气
4. 操作方便快捷,使用简单,界面设计美观大方,支持 widget
系统设计
一、开发及运行环境
JDK1.6.10
Eclipse3.5
Android Development Toolkit (ADT) 15.0.0
Android 2.2 及以上
Windows XP 及以上
二、数据库设计
由于在本系统中是通过中央气象台的 WebService 提供的 API 访问得到的天气 预报,在查询指定城市的天气时,需要用到它提供的城市码,而城市码相对稳定 不变,所以在构建系统时将其事先通过 Android 的网络访问技术将其缓冲到本地 SQLite 数据库进行保存起来,方便以后的查询,同时节省了流量开销。综上所 述在本地建立 db_weather.db 的数据库,其中的表结构如下:
其中只存在两个表: provices 和 citys
City 中存在 city_num 用天气的查询,同时还存在外键 province_id 与 provices 表
形成 1 对 n 的关系。
6
三、主要方法及步骤
1. 搭建 Android 开发环境,并建立一个 android2.2 版本名为 WeatherSystem
项目
2. 首先编写网络访问代码,访问 /l 中央气 象站解析得到所有城市码并导出保存得到的 db_weather.db 数据文件
3. 在程序第一次运行时,将 db_weatcher.db 数据库文件导入到应用程序数据 库中