文档库 最新最全的文档下载
当前位置:文档库 › 手机天气预报系统毕业设计

手机天气预报系统毕业设计

手机天气预报系统毕业设计
手机天气预报系统毕业设计

目录

摘要 (1)

需求分析 (2)

一、开发背景 (2)

二、项目需求分析 (2)

总体设计 (2)

一、系统规划 (2)

二、系统功能界面 (3)

1. 设置预报城市界面: (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)

摘要

Window操作系统的诞生成就了微软帝国,同时也造就了PC时代的繁荣,

然而如今,以Android和iPhone手机为代表的智能移动设备的发明与互联网云

技术的兴起却敲响了PC时代的丧钟!这也预示着移动互联网时代(3G)已经来临。

在这个互联网繁荣的时代,有一颗超新星,以它独特性能优势与人性化的UI设计使它在短短的几年迅速的占领了智能移动设备的市场份额,它就是Google的Android!这也意味着Google在移动互联网时代开始抢跑并领跑。

Android是基于Linux平台完全开源的手机操作系统,同时开发语言为Java,这对于Java开发的我们是何等的诱人,程序员的技术要与时代同行,因此我选择了以Android为平台的手机天气预报系统来作为我的毕业设计,选择手机天气预报系统不仅可以提升技术,同时也很实用,为人们时刻了解天气状况和出行带来了方便。

需求分析

一、开发背景

近几年来随着3G技术成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。在Google和Android手机联盟

的共同推动下,Android在众多移动应用开发平台中脱颖而出。Android是一个

真正意义上的开源智能手机操作系统,该系统一经推出立即受到全球移动设备厂商和开发者的热捧。为顺应潮流,本设计旨在搭载Android的移动设备上运行,实现天气状况的实时动态更新与显示,方便人们的出行与生活。

二、项目需求分析

根据功能的需求,分析此项目的主要功能应具备以下几点:

1. 精确查询定位全国各地城市未来几天内的实时天气状况

2. 系统要具的实用性,符合用户查看信息习惯,界面设计优美

3. 系统要具有稳定性,且在一定程度上节省流量的开销

总体设计

一、系统规划

由上述的需求,现将系统分为三大模块:天气显示界面模块、预报城市设置模块与Widget桌面小部件模块。各系统模块功能如下:

1). 天气显示界面模块

显示指定城市三天内的天气状况,包括日期、城市名称、温度、风力与当日的建议,用户可通过按菜单键来显示菜单更新当前天气与设置天气显示的界面背景,以及跳转至设置预报城市界面来更换预报城市。

2). 预报城市设置模块

由自动设置预报城市与手动设置二部分组成,自动设置实现GPS定位功能,自动确定当前用户所在地;而手动设置则通过可伸展性下拉列表单击选择系统数据库中预存的城市来进行设置,同时为了方便用户查找,支持以输入框的形式来过滤查询预报城市。当单击选中城市时跳转至天气显示界面,来显示该城市当三天内的天气状况;第一次运行时自动跳到该界面。

3). Widget桌面小部件模块

为了方便用户实时了解天气状况,特别添加在Android系统桌面上显示

当前天气与时间的天气小部件,使用户拿起手机的第一时刻就能了解天气,同时当用户单击小部件时,自动跳转至天气显示界面,显示三天内的详细天气。

二、系统功能界面

1. 设置预报城市界面:

1.1 当第一次运行程序时,跳转至城市设置界面进行预报城市的选择:

1.2 用户可以通过单击选择“定位当前城市”的方式调用系统GPS功能自动定位预报城市:

1.3 用户可通过输入框过滤查询当前系统中预存的城市:

2.天气显示界面:

2.1 选择了预报城市后,系统跳转至天气显示界面,显示该城市三天内的实时天气:

2.2 在天气界面中用户可通过按菜单键来调出菜单,选择城市,更新天气与更换背景:

3.Widget桌面小部件界面:

方便用户第一时间了解天气动态,添加widget显示功能界面:

三.设计目标

设计完成一个实用稳定的天气预报系统,同时要廉价使其能滿足大部分用户的需求,因此针对上述要求,本设计应滿足:

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的关系。

三、主要方法及步骤

1. 搭建Android开发环境,并建立一个android

2.2版本名为WeatherSystem

项目

2. 首先编写网络访问代码,访问https://www.wendangku.net/doc/ac12695254.html,/data5/city.xml中央气

象站解析得到所有城市码并导出保存得到的db_weather.db数据文件

3. 在程序第一次运行时,将db_weatcher.db数据库文件导入到应用程序数据

库中

4. 建立设置城市界面,读取数据库文件,获取省份,城市以及对应的城市码。

5. 接收用户选择的城市码,访问:https://www.wendangku.net/doc/ac12695254.html,/data/<城市码>.html

得到天气信息

6. 解析天气信息,将城市码及天气信息缓冲下来,并为其设置有效时间,方

便下次启动时直接得到天气信息,过期则从网上更新

7. 定时由保存的城市码更新天气信息

四、主要方法及技术

1. Android手机的界面UI设计

2. Android的网络通信

3. Android的广播

4. GPS调用解析

5. Widget小部件编程

6. XML与JSON解析

7. SQLite数据库操作

8. Android文件操作

主要模块

一、项目框架

在装有ADT插件的Eclipse中新建一个名为WeatherSystem的Android2.2版本的项目,项目主要文件结构如下:

WeatherSystem

|__src

| |_com.weather.app

| | |_MainActivity.java

| | |_SetCityActivity.java

| | |_UpdateWidgetService.java

| | |_WeatherWidget.java

| |_https://www.wendangku.net/doc/ac12695254.html,p

| | |_GPSListAdapter.java

| | |_MyListAdpater.java

| |_com.weather.dao

| | |_DBHelper.java

| |_com.weaher.utils

| |_LocationXMParser.java

| |_WeatherInfoParser.java

| |_WebAccessTools.java

|__res

| |_ drawable

| | |_(略)

| |_layout

| | |_gps.xml

| | |_main.xml

| | |_widget_layout.xml

| | |_set_city.xml

| |_menu

| | |_configure_menu.xml

| |_raw

| | |_db_weather.db

| |_values

| | |_color.xml

| | |_strings.xml

| |_xml

| |_weather_widget.xml

|

|_AndroidManifest.xml

二、主要功能实现

1.获取城市码db_weather.db数据库文件

获取全国各地的城市码,是通过访问中央气象局网从省份直辖市到城镇一级一级深入得到的,获得一个地区的城市码总共需要访问4次网络,分别如下:

1. 访问https://www.wendangku.net/doc/ac12695254.html,/data5/city.xml得到省份直辖市列表与它的编

号:

01|北京,02|上海,03|天津,04|重庆,05|黑龙江,06|吉林,07|辽宁,08|内蒙古,…

2. 访问https://www.wendangku.net/doc/ac12695254.html,/data5/city<省份编号>.xml得到该省份直辖市

的城市编号(如访问山东:https://www.wendangku.net/doc/ac12695254.html,/data5/city12.xml)

1201|济南,1202|青岛,1203|淄博,1204|德州,1205|烟台,1206|潍坊,……

3. 访问https://www.wendangku.net/doc/ac12695254.html,/data5/city<城市编号>.xml得到该城市的县区

编号(如访问济南:https://www.wendangku.net/doc/ac12695254.html,/data5/city1201.xml)

120101|济南,120102|长清,120103|商河,120104|章丘,120105|平阴,….

4. 访问https://www.wendangku.net/doc/ac12695254.html,/data5/city<县区编号>.xml得到该县区的城市

码(如访问长清:https://www.wendangku.net/doc/ac12695254.html,/data5/city120102.xml)

120102|101120102

首先实现上述功能需使用Android的网络访问技术,故编写工具类

WebAccessTools类如下:

/**

* 根据给定的url地址访问网络,得到响应内容(这里为GET方式访问)

* @param url 指定的url地址

* @return web服务器响应的内容,为String类型,当访问失败时,返回为null

*/

public String getWebContent(String url) {

//创建一个http请求对象

HttpGet request = new HttpGet(url);

//创建HttpParams以用来设置HTTP参数

HttpParams params=new BasicHttpParams();

//设置连接超时或响应超时

HttpConnectionParams.setConnectionTimeout(params, 3000);

HttpConnectionParams.setSoTimeout(params, 5000);

//创建一个网络访问处理对象

HttpClient httpClient = new DefaultHttpClient(params);

try{

//执行请求参数项

HttpResponse response = httpClient.execute(request);

//判断是否请求成功

if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {

//获得响应信息

String content = EntityUtils.toString(response.getEntity());

return content;

} else {

//网连接失败,使用Toast显示提示信息

Toast.makeText(context, "网络访问失败,请检查您机器的联网设备!",

Toast.LENGTH_LONG).show();

}

}catch(Exception e) {

e.printStackTrace();

} finally {

//释放网络连接资源

httpClient.getConnectionManager().shutdown();

}

return null;

}

由上面访问的可知,得到的编码与名称都是“编码|名称”的形式,因此在这也编写一个解析得到城市码的工具类WeatherInfoParser,用于解析从服务器中得到的城市码:

/**

* 通过解析content,得到一个一维为城市编号,二维为城市名的二维数组

* 解析的字符串的形式为: 编号|城市名,编号|城市名,.....

* @param content 需要解析的字符串

* @return 封装有城市编码与名称的二维数组

*/

public static String[][] parseCity(String content) {

//判断content不为空

if(content!=null&&content.trim().length()!=0) {

StringTokenizer st=new StringTokenizer(content, ",");

int count = st.countTokens();

String[][] citys = new String[count][2];

int i=0, index=0;

while(st.hasMoreTokens()) {

String city = st.nextToken();

index = city.indexOf('|');

citys[i][0] = city.substring(0, index);

citys[i][1] = city.substring(index+1);

i = i+1;

}

return citys;

}

return null;

}

编写这两个类后现在就是编写从服务器端用程序遍历得到全国各地的城市名与城市码,并将它们分别的保存在String[][] provinces数组,String[][] childs数组与String[][] cityCode中:

WebAccessTools webTools = new WebAccessTools(this);

//得到访问网络的内容

String webContent=webTools.getWebContent("https://www.wendangku.net/doc/ac12695254.html,/data5/city.xml");

//第一次解析得到的为省份或一级直辖市

String[][] provinces = WeaterInfoParser.parseCity(webContent);

String[] groups = new String[provinces.length];

String[][] childs = new String[provinces.length][];

String[][] cityCode = new String[provinces.length][];

for(int i=0; i< provinces.length; i++) {

groups[i] = provinces[i][1];

//由省份码来得到城市码

StringBuffer urlBuilder= new StringBuffer("https://www.wendangku.net/doc/ac12695254.html,/data5/city");

urlBuilder.append(provinces[i][0]);

urlBuilder.append(".xml");

webContent = webTools.getWebContent(urlBuilder.toString());

String[][] citys = WeaterInfoParser.parseCity(webContent);

//用于保存所的有towns

String[][][] towns = new String[citys.length][][];

//计算总的城镇数

int sum=0;

for(int j=0; j

//由城市码来得到地方码

urlBuilder= new StringBuffer("https://www.wendangku.net/doc/ac12695254.html,/data5/city");

urlBuilder.append(citys[j][0]);

urlBuilder.append(".xml");

webContent = webTools.getWebContent(urlBuilder.toString());

towns[j] = WeaterInfoParser.parseCity(webContent);

sum = sum + towns[j].length;

}

childs[i] = new String[sum];

cityCode[i] = new String[sum];

sum=0;

for(int j=0; j

for(int n=0; n

if(n==0)

childs[i][sum] = towns[j][n][1];

else

childs[i][sum] = towns[j][0][1] + "." + towns[j][n][1];

urlBuilder= new StringBuffer("https://www.wendangku.net/doc/ac12695254.html,/data5/city");

urlBuilder.append(towns[j][n][0]);

urlBuilder.append(".xml");

webContent = webTools.getWebContent(urlBuilder.toString());

String[][] code=WeaterInfoParser.parseCity(webContent);

cityCode[i][sum] = code[0][1];

sum = sum + 1;

}

}

urlBuilder=null;

}

接下来就是将得到的上面的三个数组建立数据库文件db_weather.db保存起来,用到android.database.sqlite.SQLiteDatabase类的静态方法:

SQLiteDatabase openOrCreateDatabase(String path, CursorFactory factory)来创建一个数据库文件,其中的path表示数据库存放的路径,而factory中游标工厂,这里可将它设为空,从而得到SQLiteDatabase对象,则再调用它的execSQL(String sql)方法来执行保存数据库的操作,从而将上面的三个数组转换为数据库中的数

据,最后使用ADT插件中的DDMS工具将得到的数据库文件从Android模拟器

中导出,最终就得到了db_weather.db文件。以后上述的代码就可以不使用,直

接将db_weather.db文件放入资源文件夹res目录中的raw目录中,则在程序第一

次运行时导入到/data/data/com.weather.app/databases目录中就行了,其中关于数据库的导入实际是Java中文件的复制。

2.实现可伸缩性列表的的构建与过滤

实现可伸缩性列表是通过继承android.widget.BaseExpandableListAdapter适

配器实现的,其中主要实现它的public View getGroupView()得列表的一级列表和public void getChildView()得到列表的二级子列表实现的,在这里由于只是实现文本显示功能,故用TextView组件来填充就行了,如果要构造这个自定义的适配器,则只需在提供存放省份直辖市的一级列表的数组String[] groups和存放对应的城镇的二级列表的String[][] childs就行了。

同时为了兼具过滤功能,还要需再实现android.widget.Filterable接口,这个

接口有一个getFilter()返回Filter过滤器的列表,故还要提供一个Filter过滤类,

在本系统中,实现的是一个内部类CityFilter,它继承android.widget.Filter类,覆盖实现了两个方法,一个是performFiltering()得到FilterResults过滤结果对象方法,另一个是根据得到的FilterResults对象更新适配器的publishResults()方法。

其中的performFiltering(CharSequence constraint)方法的实现是通过constraint 这个关键字以省份直辖市为单位进行匹配,如果匹配成功,则添加该省份以下的所有城市,如果匹配不成功,则再逐一与这个省份的下的城市配匹,则只添加匹配的城市,其中匹配的结果放在Map> values这样的

向量中,再由新建的FilterResults封装返回,(具体实现如下):

1. 首先是对关键字进行判断是否为空,如为空则由values添加所有省份与城

市,其中的allGroups和allChilds保存的是所有的省份与对应的城市:

//当过滤条件为空时,返回所有的省份与城市

if(constraint == null || constraint.length() == 0) {

for(int i=0; i

ArrayList index = new ArrayList();

//添加所有与之对应的城市

for(int j=0; j

index.add(j);

}

values.put(i, index);

}

}

2. 如果关键字constraint不为空,则以省份为单位进行匹配,省份匹配的添

加下面的所在城镇,如果不匹配,则进行步深入匹配城镇,添加符合条件的城镇:

String filterStr = constraint.toString();

for(int i=0; i

//查找省名是否包含用户输入的字符串

if(allGroups[i].contains(filterStr)) {

ArrayList index = new ArrayList();

//添加所有与之对应的城市

for(int j=0; j

index.add(j);

}

values.put(i, index);

} else {

ArrayList index = new ArrayList();

//如果省份名没有,则查找它下面的城市名是否包含

for(int j=0; j

if(allChilds[i][j].contains(filterStr)) {

index.add(j);

}

}

//如果添加进入了城市,说明存在,则它的省份也添加进去

if(index.size() > 0) {

values.put(i, index);

} else {

index = null;

}

}

}

3. 得到过滤的结果后将其用FilterResource封装后返回:

FilterResults results = new FilterResults();

results.values = values;

results.count = values.size();

另外的publishResults(CharSequence constraint, FilterResults results)方法就是根据上面得到的results对象来得到新的String[] groups与String[][] Childs数组,再调用BaseExpandableListAdapter父类的notifyDataSetChanged()方法来更新列表,从而实现过滤后结果的显示(具体实现如下):

1. 首先将参数FiltersResuls对象转换为Map>

filterResult,然后来判断过滤后的结果长度时否为0,如果长度为0则说

明过滤后的结果为空,则调用父类的notifyDataSetInvalidated()方法来阻

止列表的更新:

2. 如果长度不为0,则说明存在过滤结果,则将它转换为groups数组与childs

数组,并调用notifyDataSetChanged()方法实再更新:

String[] newGroups = new String[count];

String[][] newChilds = new String[count][];

int index = 0;

int length = 0;

//得到新的groups和childs

for(int i=0; i

if(filterResult.containsKey(i)) {

newGroups[index] = allGroups[i];

//符合条件的城市

ArrayList citys = filterResult.get(i);

length = citys.size();

newChilds[index] = new String[length];

for(int j = 0; j< length; j++) {

newChilds[index][j] = allChilds[i][citys.get(j)];

}

index = index + 1;

}

}

//设置groups和childs

groups = newGroups;

childs = newChilds;

//更新列表

notifyDataSetChanged();

//判断是否展开列表

count = getGroupCount();

if(count < 34) {

//展开伸缩性列表

for(int i=0; i

provinceList.expandGroup(i);

}

} else {

//收缩伸缩性列表

for(int i=0; i

provinceList.collapseGroup(i);

}

}

如上所述则就实现了带有过滤性可伸展性列表适配性的实现,则在使用时在XML组件配置文件中使用ExpandableListView列表,并调用它的setAdapter()方

法来,加载自定义的适配器。而在使用它的过滤功能时则调用自定义适配器的getFilter()得到过滤Filter对象,再调用Filter对象的filter(String)方法实现的,在

本系统中才用的时触发文本输入框EditText的TextChangedListener事件时调用从而实现手动选择预报城市的过滤查询。

3.GPS定位功能的实现

Android中调用GPS功能,首先要获取GPS定位管理器LocationManager,

获取LocationManager后就是获取LocationProvider,可以通过Criteria对象设置

过滤条件来获得最符合用户需求的LocationProvider,得到LocationProvider后就可通过调用LocationMananger对象的getLastKnownLocation()方法来获取Location地址封装对象,最后由实例化的Geocoder将Location中的经度和纬度

反编译为地址信息集合List对象,从而由List对象来得到当前用户地址名。在

开发过程中通过Eclipse中的ADT插件的DDMS可以为Android模拟器指定任

意地址,如下:

当在模拟器控制面板中指定经纬度后,则会在模拟器中出现GPS的标志:

但在实际开发调用GPS功能过程时,只能获取经度与纬度,而在使用Geocoder 反编译地址时报错:

使用的调用代码如下:

后来通过网上搜索得知在Android2.2模拟器中调用Geocoder需要backend服务:”The Geocoder class requires a backend service that is not included in the core

android framework. The Geocoder query methods will return an empty list if there no backend service in the platform.“

但并有说此服务要怎么得到,这看起来像是Android2.2模拟器的一个Bug,故而

在本设计中采用访问[https://www.wendangku.net/doc/ac12695254.html,/maps/geo?output=xml&q=经度,纬度]

的形式来得到详备的地址信息(来源于:https://www.wendangku.net/doc/ac12695254.html,/problems/69517),如下访问https://www.wendangku.net/doc/ac12695254.html,/maps/geo?output=xml&q=30.659269,104.065762:

其中的output参数指定的是服务器响应的格式,除了XML格式还可以为JSON,CSV等格式。

由此可知,为了实现GPS的定位功能还需要实现一个解析XML的工具类,在本

系统中由工具类LocationXMParser完成,它继承至org.xml.sax.helpers.DefaultHandler 类,用于专门用于解析XML文件。

上述的GPS功能具体实现过程如下:

1. 得到LocationManager系统定位服务管理者:

LocationManager locationManager =

(LocationManager)getSystemService(Context.LOCATION_SERVICE);

2. 设置Geocoder对象,过滤得到符合条件的LocationProvider,再由

LocationProvider得到封装经纬度信息的Location对象:

//设置一个Criteria标准用于过滤LocationProvider

Criteria criteria = new Criteria();

//设置不需要高度信息

criteria.setAltitudeRequired(false);

//设置不需要方位信息

criteria.setBearingRequired(false);

//得到最好的可用的Provider

String provider = locationManager.getBestProvider(criteria, true);

//得到当前的位置对象

Location location = locationManager.getLastKnownLocation(provider);

double latitude = location.getLatitude(); //得到经度

double longitude = location.getLongitude(); //得到纬度

3. 得到经纬度后再访问https://www.wendangku.net/doc/ac12695254.html,/maps/geo来得到含地址信息的

XML文本内容,并用自定义的LocationXMParser工具类解析封装得到此经纬度对应的城市名:

//根据经纬度得到详细的地址信息

//定义的一个网络访问工具类

WebAccessTools webTools = new WebAccessTools(this);

String addressContext = webTools.getWebContent

("https://www.wendangku.net/doc/ac12695254.html,/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();

}

上面代码中的getDetailAdress()方法返回的是一个Map对象,其中封装了从XML中解析得到的国家、省份、县区和城市四个信息,在得到这些信息后,系统将与数据库中预存的省份城市相比较,最终匹配得到该地区的城市码完成GPS 自动定位功能的实现。

4.Widget窗体小部件的更新

由于widget中的时钟关系,需要对widget显示进行时刻的更新用来保持与

系统中时间的一致。实现这个功能需要用到AlarmManager类,这个类专门用来设定在某个指定的时间去完成指定的事件。设计思路是在Widget的onUpdate方法中启动一个自定义更新后台服务,更新widget,并设定下一分钟再次调用此服务。具体实现过步骤如下:

1. 首先自定义一个后台运行服务类继承至Service类,实现它的服务开始运

行调用的onStart()方法:

super.onStart(intent, startId);

//得到widget的布局对象

RemoteViews views = WeatherWidget.getWeatherView(this);

//得到AppWidgetManager widget管理器

AppWidgetManager appWidgetManager=AppWidgetManager.getInstance(this);

int[] appids=appWidgetManager.getAppWidgetIds(new ComponentName(this,

WeatherWidget.class));

//得到城市码,并更新天气

SharedPreferences sp=getSharedPreferences(

SetCityActivity.CITY_CODE_FILE,

SetCityActivity.MODE_PRIVATE); String cityCode= sp.getString("code", "");

if(cityCode!=null&&cityCode.trim().length() > 0) {

WeatherWidget.updateAppWidget(views, this,

appWidgetManager, cityCode);

}

appWidgetManager.updateAppWidget(appids, views);

//获取当前时间设置警报服务

Date date = new Date();

long now =date.getTime();

long unit=60000;//间隔一分钟

int s=date.getSeconds(); //得到秒数

unit=60000-s*1000; //将时间精确到秒

pintent=PendingIntent.getService(this, 0, intent, 0);

//计时器

alarm=(AlarmManager)getSystemService(Context.ALARM_SERVICE);

//AlarmManager.RTC_WAKEUP设置服务在系统休眠时同样会运行

//第二个参数是下一次启动service时间

alarm.set(AlarmManager.RTC_WAKEUP, now+unit, pintent);

2. 然后在实现AppWidgetProvider的widget类的onUpdate方法中启动这个

自定义的服务:

//启动一个自定义更新widget的后台服务

context.startService(new Intent(context,UpdateWidgetService.class));

3. 除了启动这个服务是不够的,当用户删除widget部件时,后台服务也必

须停止,这样就必须实现Service类中的另一个方法onDestroy()方法,该

方法在Service停止时调用,在这里用于取消AlarmManager设置的警报

服务:

//当widget中通过调用context.stopService方法来指定销毁service时,被调用

public void onDestroy() {

//取消定时管理

if(alarm!=null) {

alarm.cancel(pintent);

}

super.onDestroy();

}

4. 则在widget类的onDisabled()方法中调用stopService方法来停止后台服务,

其中的onDisabled方法在widget被用户删除时由系统自动调用:

public void onDisabled(Context context) {

super.onDisabled(context);

//关闭后台服务

context.stopService(new Intent(context,UpdateWidgetService.class));

}

在自定了一个Service服务后,系统必须在清单文件AndroidManifest.xml中声明自定义的服务:

这样就实现了widget的更新功能,其实在配制widget的AppWidgetProviderInfo的配制文件中通过设置android:updatePeriodMillis属性来

设置widget的自动更新,它的单位中毫秒,但由于自动更新对性能的损坏,故

它有一个最低值,这最低值长于一分钟,故而与该系统的要求不符,故以调用后台Service的方式来解决。

功能测试

本系统的的测试,主要是通过手动操作该系统,查看是否存在异常或操作的结果是否符合设计初衷来完成的,现将系统的主要操作结果截图展示如下:

灾害性天气预报预警预防工作机制

钟山区钟山一矿 关于建立灾害性天气预报预警预防工作机制严防安全生产事故灾难发生的方案 编制: 矿长: 日期:2012.1.10

关于建立灾害性天气预报预警预防工作机制严防安全生产事故灾难发生的方案 为建立更加有效的灾害性天气预报预警预防工作机制,加强部门之间的信息沟通,建立和完善协调联动机制,全面提高事故灾难的防范和处置能力,根据我矿的实际情况,建立如下方案: 一、提高认识,增强做好建立灾害性天气预报预警预防工作机制,严防发生各类安全生产事故灾难的责任感和紧迫感,贵州是全国灾害性天气事故多发地区,多次发生因灾害性天气引发的重大事故灾难,造成重大人员伤亡和财产损失。教训十分深刻,去冬今春旱灾严重,大旱必大涝。今年我区汛情严峻,防范事故灾难的任务紧迫,责任重大。建立灾害性天气预报预警预防工作机制,是有效防范应对自然灾害可能引发事故灾难的关键,是切实保障人民群众的生命财产安全的重要措施,是做好整个安全生产工作的重要环节。有关部门要高度重视灾害性天气预报、预警、预防工作,充分认识此项工作的重要性和紧迫性,认真研究,密切合作,积极推进,切实加强协调联动机制建设,做到信息共享、反应迅速、协调有序、科学处置。 二、建立完善的灾害性天气预报预警协调联动机制 地测组要密切监视天气、雨情和汛情发展变化,加密监测次数,及时分析会商;调度室要及时联系气象、水利、国土资源部门,收集气象信息。特别要加强局部性、突发性灾害的监测预报,准确分析影响时间、程度和范围,及时预测发展趋势,并将预报结果及时

通报调度室、安全科,调度室、安全科按照矿关于落实安全生产责 任的规定,及时发布预警信息,各单位可能受到灾害性天气伤害的 人群都要立即做好预防工作。 三、认真做好防范事故灾难的预警预防工作 1、各级区、队要加强对防范事故灾难工作的组织领导,落实相关部门的防范事故灾难责任制,建立起本区、队无缝隙、全覆盖的 预报预警预防责任体系、响应机制和工作措施。当前,要把防范强 降雨引发事故灾难作为工作重点,抓紧落实各项工作责任和防范措施。 2、调度室在接到灾害性天气预报预警信息后,要立即报告矿有关领导,要迅速采取防汛避险措施,根据灾害性天气预警等级,随 时启动应急预案。同时,要组织力量加强对堡坎、煤坪、矸石坡、 陡坡处安全检查,制定严密的防范措施,明确“防、抢、撤”的范围、地点和方式。 3、在大雨暴雨期间一律不得进行井下作业,必须停产撤人。 钟山区钟山一矿 2012年1月10日

基于Android平台的天气预报软件设计

教学单位 学生学号 本科毕业论文(设计) 题目基于Android平台的天气预报软件设计 学生姓名 专业名称 指导教师 2013年5月20日

基于Android平台的天气预报软件设计 摘要:Google于2008年推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验。因此,对于软件从业人员来说,Android平台具有无限的吸引力。目前Android操作系统已经成为用户最多的智能操作系统。 本天气预报软件的设计,为Android终端用户提供一款方便的实时天气预报查询软件,为用户带来良好的用户体验及便利的对天气情况进行掌控。本天气预报软件采用ViewFlipper组件,提供友好的界面滑动切换方式,同时减少系统运行时占用的空间。使用Files方式保存天气信息,Shared Preferences保存用户偏好设置,节约了文件存储的空间。本文就在分析讨论Android手机软件开发技术原理的基础上,利用Android中基本组件和常用设计模式,开发出能为用户提供更好的基于Android平台的手机天气预报软件。 关键字:Android;天气预报;智能手机平台

Design of weather forecast software Based on the Android Abstract:Google in 2008 launched a product called the Android open source smart phone operating system, which uses the Linux kernel, Open Handset Alliance (OHA) members can be free to use and modify the SDK package, open source, it has good scalability of the system. The most important feature of Android is its open architecture, not only has a very good development and debugging environment, but also supports a variety of scalable user experience. Therefore, for software professionals, the Android platform has unlimited appeal. Android operating system has become the user the most intelligent operating system. The weather software designed for the Android end users to provide a convenient, real-time weather query software, to provide users with a good user experience and convenience of control of the weather conditions. The weather forecast software the ViewFlipper components, friendly interface sliding switch, while reducing the space occupied when the system is running. Files saved Weather Information, Shared Preferences to save user preferences settings, save the file storage space. This article on the basis of analysis and discussion of the Android mobile phone software development technical principles, using the basic components and common design patterns Android, developers can provide users with better mobile phone weather forecast software based on the Android platform. Keywords:Android;weather forecast;smart phone platform

天气预报预警信号意思

天气预报预警信号意思

————————————————————————————————作者:————————————————————————————————日期:

台风台风预警信号分五级,分别以白色、蓝色、黄色、橙色和红色表示。 白色蓝色黄色橙色红色 台风白色预警信号 含义:48小时内可能受热带气旋影响。台风蓝色预警信 号 含义:24小 时内可能受热带 气旋影响,平均 风力可达6级以 上,或阵风7级 以上;或者已经 受热带气旋影 响,平均风力为 6-7级,或阵风 7-8级并可能 持续。 台风黄色预警信 号 含义:24小 时内可能受热带 气旋影响,平均 风力可达8级以 上,或阵风9级 以上;或者已经 受热带气旋影 响,平均风力为 8-9级,或阵风 9-10级并可能 持续。 台风橙色预警 信号 含义:12小 时内可能受热带 气旋影响,平均 风力可达10级 以上,或阵风11 级以上;或者已 经受热带气旋影 响,平均风力为 10-11级,或阵 风11-12级并 可能持续。 台风红色预警信 号 含义:12小 时内可能或者已 经受台风影响, 平均风力可达12 级以上,或者已 达12级以上并 可能持续。 暴雨 暴雨预警信号分三级,分别以黄色、橙色、红色表示。 黄色橙色红色 暴雨黄色预警信号 含义:6小时内本地将可能有暴雨发生,或者强降水将可能持续。暴雨橙色预警信号 含义:在过去的3小时,本 地降雨量已达50毫米以上,且 雨势可能持续。 暴雨红色预警信号 含义:在过去的3小时,本 地降雨量已达100毫米以上,且 降雨可能持续。 高温 高温预警信号分三级,分别以黄色、橙色、红色表示。 黄色橙色红色 高温黄色预警信号 含义:天气闷热。一般指24小时内最高气温将接近或达到35℃或已达到35℃以上。高温橙色预警信号 含义:天气炎热。一般指 24小时内最高气温将要升至 37℃以上。 高温红色预警信号 含义:天气酷热。一般指24 小时内最高气温将要升到39℃ 以上。 寒冷 寒冷预警信号分三级,分别以黄色、橙色、红色表示。 黄色橙色红色 寒冷黄色预警信号 含义:预计因北方冷空气侵袭,当地气温在24小时内急剧下降10℃以上,或日平均气温维持在12℃以下。寒冷橙色预警信号 含义:预计因北方冷空气 侵袭,当地最低气温将降到 5℃以下。 寒冷红色预警信号 含义:预计因北方冷空气侵 袭,当地最低气温将降到0℃以 下。 冰雹 冰雹预警信号分二级,分别以橙色、红色表示。 橙色红色 冰雹橙色预警信号 含义:6小时内可能出现冰雹伴随雷电天气,并可能造成雹灾。冰雹红色预警信号 含义:2小时内出现冰雹伴随雷电天气的可能性极大,并可能造成重雹灾。

大气压与天气预报-word文档

大气压与天气预报 大气压与天气预报 当你收听无线电台的天气形势广播时,常听到“高气压”、“低气压”、“高压脊”、“低压槽”等词。这些词都是指的大气压在某一区域的分布类型,那么为什么大气压与天气预报有如此密切的关系呢? 地球表面上的风、云、雨、雪,万千气象,都跟大气运动有关系,而造成大气运动的动力就是大气压分布的不平衡和气压分布的经常变化。由于地球表面各处在太阳照射下受热情况不同,各地的空气温度就有较大差别。温度高的地方,空气膨胀上升,空气变得稀薄,气压就低;温度低的地方,空气收缩下沉、密度增大,气压就高。另外,大气流动也是造成气压不平衡和经常变化的重要因素。这样在地理情况千差万别的地球表面上空,就形成各种各样的气压分布类型,多种气压类型的组合就构成了一定的天气形势,而决定着未来的风云变幻。 气象工作者为何能根据各种气压类型来预报天气呢?这是 因为事物间总是相互联系、互为因果的,而一定的气压类型往往导致一定的天气现象出现。例如,在高气压控制的区域,由于低处的空气不断从高压中心向外流散,上层空气就要下沉填补。空气在下沉过程中体积压缩(因大气压随高度的减小而增大),温度升高,原来空气中的细小水珠就会蒸发消

散,不利于云雨的形成。因此高压中心附近地区常常是天气晴朗。 而在低气压控制的区域,低层空气是从周围流向低压中心,使低层空气堆积上升。空气在上升过程中体积膨胀,温度降低,空气中的水蒸汽凝结,易形成云雨。所以低气压中心附近往往是阴雨连绵。无怪乎有人把气压计称为晴雨表,是有一定道理的。当然这些规律都不是绝对的,天气的变化是受多种因素影响的。但是气象工作者只要掌握了大面积内(一般包括整个欧亚大陆)的气压类型的分布,结合考虑其他一些因素,就可对本地区的风向、晴雨等做出预报。

气象服务先进个人事迹

气象服务先进个人事迹 篇一:气象局先进工作人员个人事迹 气象局先进工作人员个人事迹 面包车在藏北高原的公路上飞快地行驶,我们的目的地是那曲地区气象局,这次不仅要了解那曲气象事业的发展变化,还要关注一个人——那曲地区气象局防雷中心主任杨军奇。公路两边的远山上,时不时地见到一些挖虫草的人,但并没有立刻意识到他们与我将要采访的对象有关。 畅谈“雷暴” 来到气象局,很快就见到了杨军奇。这是一个身材高大魁梧、皮肤有些黑的小伙子。哦,其实也不是小伙子了,1968年生人,1988年毕业与兰州气象学校的甘肃汉子。 地处世界屋脊的西藏本来就是雷暴频发区。“那曲就属于雷暴高发区,年平均雷暴日数为85.2天,并且主要集中在5月至8月??”杨军奇一番专业的解读,让我们了解到那曲地区的复杂天气:“冬雷阵阵”是有的,六月飞雪也很常见。这样的气候对于防雷的确是一个严峻的挑战,何况那曲欢迎该存在着一些科技水平、人员素质以及设备配置上的不足呢?我在为他们的工作倍感压力。 “每年都会有采集虫草的群众遭遇雷击,当地老百姓对于防雷知识的缺乏是导致惨剧的重要原因。我们印发了大量图文并茂、汉藏双语的

小册子,很受群众欢迎,宣传效果很好。现在情况好多了??”说起防雷工作,杨军奇的话很多,也表达得非常清楚,很快我们就了解到许多那曲防雷工作的情况,甚至包括众多细节。比如在藏族群众进行雷电防御的一些故事、那曲近年防雷工作的发展情况和问题以及为青藏铁路等防雷所做的重要工作。 漫谈“援藏” 为什么要调进那曲工作呢? “为什么??”这时候的杨军奇说话变得不那么流利了。“这里有需求,我就来了,援藏,本来定的是3个月,结果一直到11月份才回去??又来了一段时间,10月就调来了??”他的回答一直让我无法准确地表述出他进藏的理由,但我已经明白了许多。 1988年兰州气象学校毕业的杨军奇来到酒泉气象站,一干就是5年,1993年至1998年,他又在位于中蒙边界、满目戈壁的马鬃山气象站干了5年。也许,就是在马鬃山这样的艰苦台站的经历,成就了杨军奇坚毅而果敢的性格。 “那曲的条件虽然很艰苦,但那曲行署领导特别重视并亲自抓防雷,工作很好开展??”一说到防雷,杨军奇的语言有开始流利起来。在那曲,他基本上没有什么高原反应,身体状况也不错。他笑着说:“嗯,还不错,就是有些掉头发。”高原反应给予人的伤害是显著的、长期的,即使再年富力强的人也难以抵挡。 其实,杨军奇调入那曲也费了一些周折。杨军奇自援藏以来,结合那曲实际,开创了许多新的工作领域,加上那曲地区行署十分重视防雷

预警预报系统

气象预警预报系统,保云南“四季如春” 孟荣,罗显刚,黄友昕,崔艺 云南,素以其美丽、丰饶、神奇而著称于世,这里有世界最著名的喀斯特景观之一——石林,也有最壮丽的地质奇观——三江并流,玉龙雪山、腾冲火山群等众多自然景观与地理风貌也是举世闻名。这些景观的形成与云南丰富多样的气候类型和地形地貌分不开,同时特定的地质环境条件和气象条件也使云南成为我国地质灾害高发和受威胁严重的省份,建设一个相应的地质灾害气象预警预报信息平台迫在眉睫。 由云南省地质环境监测院和云南省气象局联合,在MapGIS K9 互联网GIS平台基础上,最终搭建成了一套省级、地州级可共用的,时效高、预警预报信息内容较为全面及准确可靠的地质灾害预警预报系统,涵盖云南省地质灾害数据的组织管理、地质灾害气象预警结果展示、预警结果人工干预修改、预警结果数据分析、预警结果发布等功能。提高了云南省地质灾害气象预警预报水平和精度,为相关政府部门决策和灾害地区群众的减灾措施提供及时、科学、有效的信息指导。 系统功能——多种管理与预警分析 系统包括五大功能模块:预警分析子系统、雨量管理子系统、灾害管理子系统、地图管理子系统和系统设置子系统(图1)。 云南省地质灾害气象预警预报系统 雨量管理灾害管理地图管理系统设置预警分析 地质灾害数据上传地 质 灾 害 数 据 查 询 统 计 地 质 灾 害 文 件 上 传 地 质 灾 害 文 件 检 索 下 载 降雨量数据导入降 雨 量 数 据 查 询 降 雨 等 值 线 分 析 预警参数设置 预 警 分 析 预 警 结 果 分 析 预 警 产 品 发 布 预 警 值 班 管 理 用 户 及 权 限 管 理 系 统 参 数 管 理 系 统 日 志 管 理 图 层 管 理 图 层 元 数 据 管 理 图1 云南省地质灾害气象预警预报系统功能模块图 雨量管理子系统 (1)降雨量数据导入 提供多种导入的方式供用户自由选择;有一定的容错能力,并提供数据预览让用户人 工干预。 (2)降雨量数据查询 针对降雨量数据结构的特征和预警相关需求进行查询和统计,查询统计结果能以Excel 表格形式输出,部分可以统计图的形式展示。 (3)降雨等值线分析 分为参数调整和等值线分析2步,选定某一时段和设置了相应的等值线参数后,可分别生成单日和累计降雨量等值线图,等值线图可与行政区划图进行叠加显示,并能输出成图片。 预警分析子系统 (1)预警参数设置 分为预警影响因子设置、降雨临界值设置和预警等级划分设置,对预警分析过程中涉

手机天气预报系统毕业设计.pdf

目录 摘要 (1) 需求分析 (2) 一、开发背景 (2) 二、项目需求分析 (2) 总体设计 (2) 一、系统规划 (2) 二、系统功能界面 (3) 1. 设置预报城市界面: (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)

摘要 Window 操作系统的诞生成就了微软帝国,同时也造就了 PC 时代的繁荣,然而如今,以Android和iPhone手机为代表的智能移动设备的发明与互联网云技术的兴起却敲响了PC时代的丧钟!这也预示着移动互联网时代(3G)已经来临。 在这个互联网繁荣的时代,有一颗超新星,以它独特性能优势与人性化的UI 设计使它在短短的几年迅速的占领了智能移动设备的市场份额,它就是Google 的 Android!这也意味着 Google 在移动互联网时代开始抢跑并领跑。 Android 是基于Linux 平台完全开源的手机操作系统,同时开发语言为Java,这对于Java 开发的我们是何等的诱人,程序员的技术要与时代同行,因此我选择了以Android为平台的手机天气预报系统来作为我的毕业设计,选择手机天气预报系统不仅可以提升技术,同时也很实用,为人们时刻了解天气状况和出行带来了方便。

基于Android的手机天气预报系统

基于Android的手机天气预报系统

合肥学院 2013届毕业论文(设计) 论文(设计)题目基于Android的手机天气预 报系统 院系名称计算机科学与技术系 专业(班级)计算机科学与技术 2009级本科3班 姓名(学号)丁同飞(0904013004) 指导教师屠菁 系负责人袁暋 完成时间2013-06-02

基于Android的手机天气预报系统 中文摘要 天气预报为人们了解天气状况和出行安排带来了方便,但是,大多数天气预报软件都是基于PC端,查询起来并不是很便捷。而随着智能手机的普及和3G技术的发展,手机端实现天气查询成为了可能,因此,实现手机端的天气预报系统成为了人们迫切需要且切实可行的需求。 本设计使用Android设计技术开发了一种运用在Android系统上的手机天气预报软件系统,本系统通过选择城市来获得天气,风向,温度等信息。基于手机的天气预报系统软件可以使用户对于各地的天气情况的实时掌握,极大的方便了用户的出行和行程安排,避免了不必要的麻烦,具有很强的实用性。 本论文首先进行了项目的背景介绍,开发的目的及意义,接着进行系统分析(包括需求分析、研究目标和内容),接着分析了Android系统的框架,然后介绍了本系统的用到的技术以及平台的搭建,最后论述了本系统的详细设计(包括功能模块设计、数据库设计等),接着进行了项目的测试用例分析,最后给出了结论以及展望。 关键词:天气预报;Android;linux内核

Based on the Android of mobile phone weather forecast system ABSTRACT Weather Forecast for people to understand weather conditions and travel arrangements to bring the convenience, however, most weather forecasts are based on the PC side software, check it is not very convenient. With the popularity of smart phones and 3G technology, mobile client queries become possible to achieve weather, therefore, realize the phone side of weather forecasting system has become an urgent need for people with practical needs. This design uses design techniques developed an Android application in the Android system mobile weather software system, the system by selecting the city to get weather, wind direction, temperature and other information. Phone-based weather forecasting system software allows users around the weather conditions for real-time control, which greatly facilitates the user's travel and travel arrangements, to avoid unnecessary trouble, and highly practical. This paper first introduces the background for the project, the development of purpose and meaning, followed by systems analysis (including needs analysis, research objectives and content), and then analyzes the framework of the Android system, then introduces the technology used in this system as well as platform structures, and finally discusses the detailed design of the system (including functional module design, database design, etc.), followed by analysis of the project's test cases, and finally gives the conclusion and outlook. Keyword: android;the Linux kernel;the weather forecast I

决策气象服务方案

2012年决策气象服务方案 为进一步规范决策气象服务流程,改进决策气象服务质量,提高决策气象服务的针对性、敏感性、综合性和时效性,全力做好2010年决策气象服务工作,特制定本方案。 一、决策气象服务产品 决策气象服务产品主要包括《重要天气预报》、《重要气象信息》、《专题气象服务》、《领导专报》、文件、手机短信等,服务对象为县委、县政府、县人大、县政协和人武部以及防汛抗旱指挥部、森林防火指挥部、农业局、救灾办等有关部门。 表1:决策气象服务产品表 二、2012年决策气象关注重点 1. 2012年分月关注要点

二月 三月 四月

五月 六月 七月

八月 九月 十月

十一月 十二月 2.新县分月天气气候特点、主要气象灾害、农事活动和社会活动

3、定期服务内容 (1)5月21日-6月20日,“三夏”专题服务材料,二级服务范围 (2)9月21日-10月20日,“三秋”专题服务材料,二级服务范围 (3)汛期早 8点,24小时雨情资料服务,二级服务范围 (4)5月30日、9月29日分别发布两个黄金周预报服务 (5)12月~2月,春运专题气象服务。 4.分级服务范围 (1)一级服务范围为情况异常紧急情形:县委常委成员、县委办、县政府办;县政府县长及相关副县长、应急办;县人大主任、副主任、办公室,县政协主席、副主席、办公室。传真:县防汛办、森防办、水利局、安监局、公安局、教体局、广电局(电视台)、公安交警大队、财政局、救灾办、农业局、交通局等有关部门(2)二级服务范围为情况重要情形:县委办、县政府办、应急办,县安监局、教体局、广电局(电视台)、公安交警大队、农业局、交通局,有关局(办)。 (3)三级服务范围为一般情况:县委办、县政府办、应急办,县安监局、教体局、广电局(电视台)、公安交警大队、农业局,有关局(办)。 三、决策气象服务流程

预警预报-预报预警规范类题库

、填空 1.降水量指某一时段内,从天空降落到地面上的液态(降雨)或固态(降雪)(经溶化后),未经蒸发、渗透、流失而在水平面上积聚的(深度)。 2.降雨分为(微量降雨(零星小雨))、(小雨)、(中雨)、(大雨)、(大暴雨)、(特大暴雨)共7 个等级。 3.降雪分为(微量降雪(零星小雪))、(小雪)、(中雪)、(大雪)、(大暴雪)、(特大暴雪)共7 个等级。 4.按照24 小时降雪量等级划分,小雪()毫米;大雪 ()毫米。(1-5 题出自《降水量等级GB/T28592-2012 》)5.冷空气是指使所经地点(气温下降)的空气。 6.24 小时内降温幅度是某日(06 时以后24 小时内的最低气温)与(某日日最低气温)之差。 7.冷空气划分的原则采用受冷空气影响地区在一定时段内(日最低气温下降幅度)和(日最低气温值)两个指标来具体划分冷空气等级。 8.冷空气分五个等级(弱冷空气)、(中等强度冷空气)、(较强冷空气)、(强冷空气)和(寒潮)。 9.弱冷空气是使某地的日最低气温(48h)内降温幅度 小于(6C)的冷空气。 10.寒潮是使某地的日最低气温24h 内降温幅度大于或

等于(8C),或48h内降温幅度大于或等于(10C),或72h 内降温幅度大于或等于(12C),而且使该地日最低气温下 降到(4C)或以下。(6-10题出自《冷空气等级 GB/T20484-2006 》) 11. 根据《热带气旋等级》国家标准(GB/T 19201-2006),热带气旋分为(热带低压)、(热带风暴)、(强热带风暴)、(台)风、(强台风)和(超强台风)六个等级。 12. 热带风暴的简写为(TS);STY为(强台风)的简写;台风底层中心附近最大风力为12-13 级()m/s。 13. 热带气旋等级的划分以其底层中心附近(最大平均风速)为标准。(11-13 题出自《热带气旋等级》GB/T 19201-2006 ) 14. 沙尘天气的等级主要依据沙尘天气当时的地面能见 到划分,依次划分为(浮尘)、(扬沙)、(沙尘暴)、(强沙尘暴)和(特强沙尘暴)五类。 15. 浮尘天气过程是在同一次天气过程中,相邻(5 个或5个以上)国家基本(准)站在同一观测时次出现了浮尘的沙尘天气。(14-15 题出自《沙尘暴天气等级》GBT 20480-2006) 16. 雾的预报等级依据当时的(能见度),划分为(轻雾)、(大雾)、(浓雾)、(强浓雾)、(特强浓雾)。 17. 在雾的预报等级中,能见度(1 000m V<10 000m)为轻雾、能见度(500m^ V<1 000m)为大雾、能见度(200m 三

天气预报开发文档

安卓天气预报APP 学校:武汉理工大学 学院:计算机科学与技术学院 姓名:张宁 摘要:科技的进步会给人们的生活带来方便和快捷,随着科技的发展,移动智能终端逐渐走进人们的视线,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,关键应用程序的开发成为影响移动智能终端普及的重要因素,设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景。Android作为当前最流行的操作平台,自然也存在着大量的应用服务需求。本课题研究的是基于Android平台下的天气软件,目的是帮助用户随时随地查询天气信息及天气变化情况,让生活更加舒适方便。本文详细讲述了Android平台下天气软件的界面设计及异常处理部分,主要包括界面的实现、控件的使用、界面的布局和异常的处理等内容,结合中国气象网的天气数据,将准确的天气情况以友好的方式呈现给用户,使用户可以更加赏心悦目地体验

本软件的服务。 目录 第一章绪论 1.1研究背景 1.2研究意义 1.3研究内容 第二章系统分析 2.1研究目标 2.2需求分析 2.3性能分析 第三章程序设计与实现3.1用户界面的实现 3.2获取和解析数据 3.3在UI上呈现天气信息

第4章系统测试 第5章结论 5.1总结与改进 5.1参考文献 第一章绪论 1.1研究背景 随着科技的发展,Android在中国的前景十分广阔,它的社区也十分红火,而这些社区为Android在中国市场的普及做了很好的推广作用。国内厂商和许多大运营商也纷纷加入了Android的阵营,同时不仅仅是局限于手机上,国内的厂家也不断的推出了Android系统的产品。Android的主要竞争对手有苹果的IOS以及RIM的Blackberry OS。在2011年的第一季度中,Android在全球的市场份额首次超过了塞班系统,跃居全球第一。于次年的2月份,Android占据全球智能手机操作系统市场的52.5%,而在中国的市场占有率为68.4%,在美国的手机市场上占有率达到了47.3%。到同年的二月下旬,Google公司正式宣布,Android设备每天激活

气象预警预报模拟试卷答案__赵世发

2014年气象预警预报 模拟试题 一、填空题(20题,每空0.5分,共20分) 1. 短历时强降水定义为1小时降水量(≥20毫米)的降水;暴雨红色预警信号发布标准是未来3小时降雨量(≥100毫米)。 2.T-lnP图上气块温度升降的曲线叫(状态曲线),而大气实际温度分布曲线叫(层结曲线)。 3. 影响台风移动的因子有(地转偏向力)、气压梯度力/总压力、(内力)、扰动加速度等。 4. 零度层亮带是(层状云降水)回波的一个重要形态特征。 5. 在亚洲地区,阻塞高压经常出现在(乌拉尔山)和鄂霍次克海地区。 6.气旋在越过山脉时强度常常发生变化,在迎风侧(减弱),而在背风侧(增强)。 7. 从流场上看江淮切变线可分为(冷锋式)切变线、(暖锋式)切变线和(准静止锋式)切变线三种。 8.一般情况下,与地面冷锋相配合的高空槽越深、槽后的冷平流越(强),就越有利于冷锋后出现大风;大风区出现在冷平流(最强区域)所对应的位置。 9. (焚风)是当暖空气越过高山,变成下沉气流,在背风面上局地容易吹起的一种干燥的热风。 10. 对暴雨形成有利的条件有强烈的上升运动、充分的水汽供应和(较长的持续时间)。 11、气象部门规定: 24h降雪量达( 10mm )及其以上为暴雪。 12. 在形成华北暴雨的环流系统中,(日本海高压)是一关键系统。 13. 和飑现象相联系的一类中系统叫飑中系统,它包括(雷暴高压)、飑线、(飑线前低压)、尾流低压等中系统。 14. 当45-55dBZ的回波强度达到( -20 )度层的高度时,最有可能产生冰雹。 15. 新一代天气雷达系统的应用主要在于对灾害性天气,特别是与风害和(冰雹)相伴随的灾害性天气的监测和预警。还可以进行较大范围(降水)的定量估测,获取降水和降水云体的(风场)结构。速度图上0等风速线呈反“S”型,表示实际

中国气象局_天气预报等级用语业务规定(试行)

天气预报等级用语业务规定实施细则(试行) 为规范公众天气预报等级用语,科学发布天气预报、警报和预警信号,依照中国气象局预测减灾司《天气预报等级用语业务规定(试行)》的要求,特制定本实施细则。 一、总则 1.根据天气过程或系统的逼近时间和影响强度,预报等级用语一般依次为预报、警报和预警信号。预警信号是警报的一种表现形式,是最高级别的警报。只有热带气旋和大风降温预报可以发布“消息”。 2.无论是预报、警报还是预警信号,都应明确预报名称、发布单位和发布时间;天气过程或系统影响区域、出现时段、强度、可能造成的影响及防御提示等。 3.本规定给出了热带气旋、暴雨、高温、寒潮、大雾、雷雨大风、大风、冰雹、雪灾、道路结冰、霜冻、灰霾、城市内涝、地质灾害、森林高火险、城市高火险等十六类天气预报等级用语。文中规定的预报时效一般是指最长预报时效,各级气象台可根据对每次天气过程的预报能力,确定预报发布的时间和等级用语。 4.天气预报等级用语是根据目前的预报能力确定的。随着预报能力的提高,需要滚动修正。 二、热带气旋预报等级用语 分消息、预报、警报、紧急警报和预警信号五级。 1.消息:编号热带气旋远离或尚未影响到预报责任区时,根据需要可以发布消息,报道编号热带气旋的情况,解除警报时也可以用消息方式发布。 2.预报:预计编号热带气旋在未来72小时内将影响本责任区的沿海地区发布预报。 3.警报:预计编号热带气旋在未来48小时内将影响本责任区的沿海地区或登陆时发布警报。 4.紧急警报:预计编号热带气旋在未来24小时内将影响本责任区的沿海地区或登陆时发布紧急警报。 5.台风预警信号:根据逼近时间和强度分四级,分别以蓝色、黄色、橙色和红色表示。关于预警信号的规定,详见中国气象局《突发气象灾害预警信号发布试行办法》(附件2),下同。 —1 —

大气污染监测预报预警工作方案

大气污染监测预报预警工作方案 为贯彻落实《X省人民政府关于印发〈以X为重点的东部城市群大气污染防治实施意见〉的通知》(X政〔X〕65号)、省政府办公厅《转发关于X省大气污染监测预报预警工作方案的通知》(X政办〔X〕131号)要求,及时向政府和公众提供大气污染监测预报预警信息,做好应对重污染天气的应急准备工作,为公众出行提供健康指引,特定本工作方案。 一、工作目标 加强X环境空气质量监测预报预警工作,州环境保护部门和气象部门在充分利用现有的环境监测与气象观测站网和设施设施的基础上,加强科研、监测和数据信息共享合作。联合开展主要城镇空气质量预报,分析研判重污染天气过程,发布重污染天气预警信息,为地方政府启动应急预案提供技术支撑和决策参考,在条件具备时采取必要气象干预措施。 二、职责分工 州环境保护和气象部门联合组织开展X主要城镇环境空气质量 预报、重污染天气监测预警和信息发布工作。其中,环境保护部门负责主要城镇环境空气质量监测,发布空气质量日报及预报;气象部门负责气象要素监测,发布气象灾害预警信号、空气污染气象条件预报。两部门负责人联合会商签发严重污染天气Ⅱ级(橙色)、严重污染天气Ⅲ级(黄色)、重度污染天气IV级(蓝色)预警信息;县级环境

保护部门负责将环境保护和气象部门主要负责人联合签发后的极严 重污染天气I级(红色)预警信息报送当地人民政府分管领导批准后,及时公开发布极重污染天气预警信息。 州环境监测站和州气象台为开展我州空气质量预报和重污染天 气预警服务的州级技术保障单位。州环境监测站和州气象台为我州开展空气质量预报和重污染天气预警服务的州级技术保障单位。 三、合作机制 (一)技术合作。 州环境监测站和州气象台联合探索研究环境空气质量预报预警 技术,提高城市环境空气质量预报和重污染天气预警水平。组织有关业务单位及专家,加强对州环境空气质量预报预警业务人员的技术培训,不断提高预报预警的准确度。 (二)信息共享。 加快建设我州环境空气质量预报预警系统平台,共享环境空气质量监测数据、气象观测数据和环境空气质量预报结果。环境保护部门与气象部门共享与空气质量相关的环境监测数据,包括实时及历史的六项污染物浓度值等。气象部门与环境保护部门共享与空气污染相关的气象观测及预报数据,包括实时及历史的气象观测要素资料(温度、压强、风向、风速、相对湿度、降水量等)。实时数据仅限于监测预报预警工作,且遵守双方制定的保密协议要求。 (三)联合会商

基于Android平台的天气预报软件设计_毕业设计

本科毕业论文(设计)题目基于Android平台的天气预报软件设计

基于Android平台的天气预报软件设计 摘要:Google于2008年推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验。因此,对于软件从业人员来说,Android平台具有无限的吸引力。目前Android操作系统已经成为用户最多的智能操作系统。 本天气预报软件的设计,为Android终端用户提供一款方便的实时天气预报查询软件,为用户带来良好的用户体验及便利的对天气情况进行掌控。本天气预报软件采用ViewFlipper组件,提供友好的界面滑动切换方式,同时减少系统运行时占用的空间。使用Files方式保存天气信息,Shared Preferences保存用户偏好设置,节约了文件存储的空间。本文就在分析讨论Android手机软件开发技术原理的基础上,利用Android中基本组件和常用设计模式,开发出能为用户提供更好的基于Android平台的手机天气预报软件。 关键字:Android;天气预报;智能手机平台

Design of weather forecast software Based on the Android Abstract:Google in 2008 launched a product called the Android open source smart phone operating system, which uses the Linux kernel, Open Handset Alliance (OHA) members can be free to use and modify the SDK package, open source, it has good scalability of the system. The most important feature of Android is its open architecture, not only has a very good development and debugging environment, but also supports a variety of scalable user experience. Therefore, for software professionals, the Android platform has unlimited appeal. Android operating system has become the user the most intelligent operating system. The weather software designed for the Android end users to provide a convenient, real-time weather query software, to provide users with a good user experience and convenience of control of the weather conditions. The weather forecast software the ViewFlipper components, friendly interface sliding switch, while reducing the space occupied when the system is running. Files saved Weather Information, Shared Preferences to save user preferences settings, save the file storage space. This article on the basis of analysis and discussion of the Android mobile phone software development technical principles, using the basic components and common design patterns Android, developers can provide users with better mobile phone weather forecast software based on the Android platform. Keywords:Android;weather forecast;smart phone platform

基于android的手机通讯录的设计与实现大学本科毕业论文

基于Android的天气预报查询系统的实现摘要:随着智能手机一步步走进人们的生活,它将成为人们获取信息的主要设备,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,关键应用程序的开发成为影响移动智能终端普及的重要因素,设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景。Android作为当前最流行的操作平台,自然也存在着大量的应用服务需求。 Android是基于Linux平台完全开源的手机操作系统,同时开发语言为Java,因此我选择了以Android为平台的手机天气预报系统来作为我的毕业设计,目的是帮助用户随时随地查询天气信息及天气变化情况,让生活更加舒适方便。本文详细讲述了Android平台下天气软件的界面设计及界面的实现、控件的使用、界面的布局等内容,结合中国气象网的天气数据,将准确的天气情况以友好的方式呈现给用户,使用户可以更加赏心悦目地体验本软件的服务。 关键词:Android 天气软件手机天气预报软件系统

System implementation of weather query based on Android Abstract With the development of intelligent mobile phone step by step into people's lives, it will become the main device to obtain information, related to more widely, and plays a more and more important role in people's daily life. Therefore, the development of critical applications has become an important factor affecting the popularization of mobile intelligent terminal, application design and development of practical, convenient has important significance and good market prospects. Android as the most popular operating platform, natural also exist in application service needs of a large number of. Android is a mobile phone operating system Linux platform based on open source, at the same time, the development of language Java, so I chose the platform of mobile phone weather system with Android as my graduation design, the purpose is to help the user whenever and wherever possible query weather information and weather condition, make life more comfortable and convenient. This paper describes the layout of content, interface design and interface control weather software under the Android platform use, interface, combined with the weather data of China Meteorological Network, will be accurate weather conditions in a friendly way is presented to the user, the user can be more pleasant experience of the software service. Keyword:Android weather software the software system of mobile phone weather

相关文档
相关文档 最新文档