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

手机天气预报系统毕业设计.pdf
手机天气预报系统毕业设计.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为平台的手机天气预报系统来作为我的毕业设计,选择手机天气预报系统不仅可以提升技术,同时也很实用,为人们时刻了解天气状况和出行带来了方便。

需求分析

一、开发背景

近几年来随着3G技术成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。在Google和Android手机联盟的共同推动下,Android在众多移动应用开发平台中脱颖而出。Android是一个真正意义上的开源智能手机操作系统,该系统一经推出立即受到全球移动设备厂商和开发者的热捧。为顺应潮流,本设计旨在搭载Android的移动设备上运行,实现天气状况的实时动态更新与显示,方便人们的出行与生活。

二、项目需求分析

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

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

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

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

总体设计

一、系统规划

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

1). 天气显示界面模块显示指定城市三天内的天气状况,包括日期、城市名

称、温度、风力与当

日的建议,用户可通过按菜单键来显示菜单更新当前天气与设置天气显示的界面背景,以及跳转至设置预报城市界面来更换预报城市。

2). 预报城市设置模块由自动设置预报城市与手动设置二部分组成,自动设

置实现GPS定位功

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

3). Widget 桌面小部件模块

为了方便用户实时了解天气状况,特别添加在Android系统桌面上显示当前天气与时间的天气小部件,使用户拿起手机的第一时刻就能了解天气,同时当用户单击小部件时,自动跳转至天气显示界面,显示三天内的详细天气。

2

二、系统功能界面

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.360docs.net/doc/147389814.html,/data5/city.xml中央

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

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

据库中

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

5.接收用户选择的城市码,访问:https://www.360docs.net/doc/147389814.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.360docs.net/doc/147389814.html,p

| | |_GPSListAdapter.java

| | |_MyListAdpater.java

| |_com.weather.dao

| | |_DBHelper.java

7

| |_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.360docs.net/doc/147389814.html,/data5/city.xml得到省份直辖市列表与它的

编号:

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

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

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

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

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

区编号(如访问济南:https://www.360docs.net/doc/147389814.html,/data5/city1201.xml)

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

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

市码(如访问长清:https://www.360docs.net/doc/147389814.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.360docs.net/doc/147389814.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.360docs.net/doc/147389814.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.360docs.net/doc/147389814.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

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.360docs.net/doc/147389814.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.360docs.net/doc/147389814.html,/maps/geo?output=xml&q=经度,纬度]的形式来得到详备的地址信息(来源于:https://www.360docs.net/doc/147389814.html,/problems/69517),如下访问https://www.360docs.net/doc/147389814.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.360docs.net/doc/147389814.html,/maps/geo来得到含地址信息的

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

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

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

WebAccessTools webTools = new WebAccessTools(this);

String addressContext = webTools.getWebContent

("https://www.360docs.net/doc/147389814.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();

}

手机天气预报系统毕业设计.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年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

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

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

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

天气预报技术与方法课程

课程简介
作为全国气象部门基层台站气象业务系列培训课程之一, 《天气预报技术与方法》是为 地市级和县级气象局预报员提供预报业务培训课程, 也可作为其他预报员的业务参考和大学 生、研究生的教学参考。我们假定学习者是气象专业本科或研究生毕业、或者经过天气预报 专门培训的非气象专业毕业的预报员, 也就是说学习者学习过天气学, 对天气预报的原理和 方法已经有较好的基础。
课程特色
本课程尽量简化概念性、原理性描述,尽量介绍新的技术方法、研究成果和规范标准, 尽量使用新的天气个例和资料图表,特别是直接针对预报员工作平台——MICAPS 系统制作 图表、调阅资料、描述流程,以帮助读者建立预报思路、提高业务技能,是本课程的一个特 色。根据目前我国天气预报业务体系的业务分工,地市级和县级气象局主要负责短期、短时 和临近预报业务,因此,本课程不涉及中期以上时效的预报问题。
课程目标
《天气预报技术与方法》课程介绍了有关天气分析的内容和方法、要素预报以及暴雨、 强对流、雾霾、沙尘暴、暴雪等灾害性天气预报和热带气旋、海洋天气预报等方面的技术和 方法。通过课程学习,使学员加深对天气学原理的理解和运用能力,解决实际预报问题。 通过本课程的学习,要求学员掌握天气预报的基本概念、基本原理;掌握天气预报的基 本方法和思路,为从事实际预报工作打下良好的基础。
自学要求
1.了解、掌握常用的天气分析预报的资料、图表、分析方法、预报方法和预报思路; 2.了解要素预报的方法、熟悉各种气象要素的预报思路和预报着眼点; 3.掌握暴雨天气的时空分布特征,并能灵活运用预报方法制作预报; 4.掌握强对流天气的时空分布特,并能灵活运用预报方法制作预报; 5.掌握雾和霾的基本概念、时空分布特征、发生和消亡的天气学形势、预报; 6.掌握暴雪天气的时空分布特,并能灵活运用暴雪预报方法制作预报; 7.掌握寒潮发生发展全过程中天气形势演变的主要特征,以及寒潮预报的基本思路与方法, 能够较好预报寒潮; 8.了解并熟悉掌握我国沙尘暴天气的时空分布特点、形成机制、环流背景、天气系统及物理 量特征,掌握沙尘暴预报方法建立沙尘暴天气的预报思路; 9.掌握热带气旋及其预报的基本概念和理论,并了解定位、定强基本方法和熟悉预报方法和 思路; 10.了解、熟悉我国沿海海域的天气气候特征,了解、熟悉海雾、风暴潮、海上大风的发生 发展规律以及海雾、风暴潮、海上大风的分析预报方法和预报思路。

基于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

天气预报开发文档

安卓天气预报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设备每天激活

天气预报网站综述

天气预报网站综述

07计科(2)班柳志鹏200710510210 关于天气预报发布系统的综述 摘要:本文通过天气预报系统网站服务的现状分析建立指导预报网站的必要性,同时介绍网站的色及开发流程及主要功能在天气预报服务领域的应用,突出网站的提点,充分体现现代网站技术给气象工作带来的便利。 关键字:天气预报JSP 网站 在全球气候变化的大背景下,今年以来中国极端天气事件发生频繁,且呈多灾并发、点多面广的特点,并有多项局部地区灾害强度超过历史纪录。其中包括南方暴雨洪涝,淮河流域性大洪水;北方多省局地强降雨;川渝地区继去年有气象记录以来最严重干旱,今年又最强降雨;北方和南方同时出现长时间、大范围高温干旱;今年雷击致人死亡为历年之最。为了应对这种极端天气气候事件的发生所带来的巨大损失,中国政府已经把防御极端天气气候灾害置于应对气候变化的极端重要位置。今后几年政府在气象、环境、海洋领域的投入将会越来越大,而做为国内高性能计算机领头羊的曙光服务器凭借在气象领域的大力投入和气象领域众多的成功案例,在灾害气候天气的减灾预警上必大有可为。 1、国内外天气预报系统整体发展水平和现状 随着计算机技术的广泛应用,长期天气预报网站技术有了较快的发展。80年代后期,开展了长期天气预报业务系统研制,将气候研究和制作长期天气预报的方法,使用BASIC计算机语言编制了程序,包括:气象要素时间序列的检验、

全国共有2340个县级以上站点,先将各站点的代码和对应的站点中文名字,利用fso组件的objFSO.OpenTextFile(FilePath1, 1)属性读到相应的数组里,站点代码和站点中文名字一一对应,翻译时对截出的站点代码进行for语句循环,找到对应的数组,取站点电码数组下标值赋给站点名字数组,翻译就完成了,同 时将各字段翻译好的中文保存在相应的数组里,等待写入数据库。 对天气现象、风向风力、最高温对低温的翻译,是利用 split(tqxxString,",")函数把相应的数据写到定义数组里,与上面同样的方法进行翻译。 D. 写入SQL数据库 建立数据库连接,打开数据库,天津天气,建立记录集,将保存在数组的3天预报数据利用Rs.addnew和Rs update语句写入数据库相应的字段里。国家局转发下来的文件里每个站点都存在重复文件,数据库写入信息时要判断该站点 的记录集是否为空,如果该站点的记录集是为空,则写入记录,否则就不写入数 据库。因每天的数据量太大,设置不保存历史记录,数据库里只保存一天的记录,在处理报文开始就删去数据库里所有记录。 加快建设新的预报业务技术体系 天气预报网站采用服务器技术,配置主机及客户终端,提高网络的访问能力,页面的清晰度。其中内容包括 网站设计开发流程 (1)架设一个局域网内的WEB服务器,并给服务器分配网络IP地址,配置主机及客户终端,并通过前台中的各个连接按钮,实现对后台数据的读取操作。 (2)通过Deamwearve MX2004构建页面的总体框架结构,创建站点,并合理设计站点的内容用Photoshop制作标题栏及导航栏背景图片,并对图片和文本进行合理的排版布局,通过Deamwearve MX2004提供的超连接功能设计与后台数据的连接。 (3)JSP网页设计。通过Deamwearve MX 2004中文件域控件,编写JSP程序代码,实现文件上传功能。 (4)后台服务器的配置。包括www服务器。FTP服务器和SMTP服务器,他们提供信息服务。 4、努力提高天气预报技术水平

基于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

基于Android平台的天气预报软件的设计与实现毕业论文

摘要 随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。因此手机的娱乐应用服务将会有很大的发展空间手机快捷查询软件就是其中的一项。Android平台提供给用户非常方便的快捷查询功能这将为快捷查询服务的设计与实现提供了更好的平台。另外Android平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机快捷查询服务的普及做出贡献。 本文研究分析了Android平台的系统架构和组件模型接着解析了Android中的重要API和应用构成以Intent和生命周期的机制。在此基础上基于Android平台设计和开发手机快捷查询天气软件。本系统界面友好、操作便捷具有良好的可扩展性和可维护性;系统经过测试、可以稳定运行、能够满足手机用户的基本需求。 关键词智能手机Android API 用户 I

Abstract As smartphones is walking into the life of ordinary people step by step, it will become the main equipment of access to information.Therefore, mobile entertainment application service there will be a very big development space of mobile phone quick query software is one of them.Android platform to provide users with convenient and fast query function for the design and implementation of a quick query service provides a better platform.Also the Android platform is essentially free, so can effectively reduce the cost of software, finally let each user can freely access to information and also contribute to the popularization of mobile phone quick query service. This study analyzes the Android platform system architecture and component model and analyzes the important part of the Android API and application of mechanism with the Intent and life cycle.On the basis of the design and development based on the Android platform mobile phone quick query software in the weather.This system friendly interface, convenient operation, good scalability and maintainability;System tested, stable operation, and can satisfy the basic needs of mobile phone users. Keyword smart phone Android API (Application Programming Interface) User II

提升天气预报准确率调研报告

提升天气预报准确率调研报告 提高天气预报准确率是大气科学最重要任务之一是气象事业的立命之身、事业根本。郑国光局长提出要“依靠科技进步千方百计地提高预报预测准确率和服务能力全力以赴做好气象预报服务工作是中国气象局党组考虑的首要工作。”如何提高天气预报准确率是气象工作者共同的责任是各级领导和预报员们应该思考的问题。 近年来我省天气预报准确率取得了一定的提高。但是在日益增长的社会需求下任何成绩在一次预报失误面前都显得苍白尤其是重大活动的保障容不得预报失败(如__年奥运会火炬传递济南站的预报)。从中国气象局预测减灾司公布的全国各省(市)城镇天气预报质量来看__年我省0~24小时、24~48小时和48~72小时的晴雨预报分别名列第 6、 5、5位__年我省0~24小时、24~48小时和48~72小时的晴雨预报分别名列第 9、 1 5、12位但是气温预报水平位居下游我省的天气预报水平还有很大的发展空间。 一、目前制约我省天气预报准确率提高的主要问题

今年11月10日到20日省台领导班子分别到业务科室召开了三个座谈会围绕提高预报准确率、气象服务、人才培养等各方面存在问题听取大家意见和建议。对十七市气象台采取问卷调查的方式进行了一次全方位的调研调查的问题主要涉及指导预报、天气会商、天气联防、科研等各市气象台均进行了认真的回答与反馈。同时省气象台领导班子也进行了深入的思考讨论。总体而言制约天气预报准确率提高的因素有很多主要存在以下问题:(一)省级天气预报技术方法较少且亟待整合 1、特色预报技术方法有待集成。 __年以来我省预报员在本地预报方法研究方面做了大量的工作基于实践研发的暴雨、冰雹、雷暴等预报技术方法曾经在业务上发挥重要作用由于编程技术不统一造成这些方法分散独立运行环境有差异客观产品的显示各自为政有的没有实现自动化运行有的基于当时国家下发的数值预报产品而目前的数值预报产品已升级造成了业务系统无法运行有的由于人员工作变动等原因无法继续在业务上运行预报员们辛辛苦苦研制的预报技术方法没有继承下来。海雾及风暴潮等中尺度数值预报模式需要进一步检验其准确率方能起到参考作用。 2、高影响灾害性天气预报能力有待增强 灾害性天气是天气预报的重点其预报准确率的高低直接决定整体天气预报的服务效果。突发强对流、内陆雾和海雾造成的灾害严重是我省高影响灾害性天气之一。对于这些天气短期和短时

安卓天气预报课程设计(终审稿)

安卓天气预报课程设计公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

石家庄铁道大学Android系统课程设计报告 2016 年夏季学期 题目:基于Android的天气预报开发 学院:电气与电子工程学院 专业:电子信息工程 学生姓名: 学号: 指导教师: 完成日期: 2016年7月15日

评分表 说明: 项目一,考察程序运行情况。 项目二,考察完成情况包括功能完整性,工作量,界面,用户体验等。 项目三,考察课程设计报告的格式和完整性。

摘要 随着移动通信技术的发展和无线数据业务的进步,手机已被赋予了除通话以外的其它许多功能。全新的手机软件领域已逐渐聚焦了众多软件开发商的目光,软件开发者和软件用户将共同面临这个振奋人心的新境界。 本设计使用Android设计技术开发了一种运用在Android系统上的手机天气预报软件系统,本系统通过选择城市来获得天气,风向,风向,温度等信息。基于手机的天气预报系统软件可以使用户对于各地的天气情况的实时掌握,极大的方便了用户的出行和行程安排,避免了不必要的麻烦,具有很强的实用性。 关键词:Android;手机天气预报软件。

目录 第1章绪论 (1) 课题研究内容 (1) 课题研究的目的和意义 (1) 课题研究前景 (2) 第2章系统需求分析 (3) 系统功能需求 (3) 系统流程图 (3) 系统界面需求 (4) 系统性能需求 (4) 第3章详细设计和功能实现 (5) 界面的设计 (5) 欢迎界面设计 (5) 菜单界面设计 (6) 各模块详细设计 (6) 欢迎模块设计 (6) 主工程设计 (7) 第4章软件测试 (15) 电脑模拟器测试 (15) 手机端测试 (17)

第五届全省气象行业天气预报职业技能竞赛试题+答案(江苏)

第五届全省气象行业天气预报职业技能竞赛 ——理论知识与业务规范(120分钟,满分100分) 项目 填空题 单选题 多选题 简答题 合计 满分 30.5 17 25.5 27 100 得分 一、填空题(共24小题61个空,每个空0.5分,计30.5分) 1.锋面温度和风场沿(垂直锋面)方向的变化比沿(锋面)方向要大得多。 2.建立以(专业化)为主体的业务体系,完善国家级专业预报中心和省级专业化预报岗位设置,强化国家级和省级的预报业务和指导能力,形成(集约化)的业务布局。 3.理查森数Ri 表示(静力稳定度)与(风垂直切变)之间的关系,实际上也反映了(有效位能)和(有效动能)之间的关系。 4.可见光云图上,水体因反照率低,表现为(深黑色);在红外云图上的水面色调取决于其(温度的高低)。 5.大气中的动能一部分消耗于(摩擦),另一部分用来维持或改变(大气运动的状况)。释放或转换为动能的那一部分位能称为有效位能。其中能够转化为动能的部分约占总位能的(0.5%)。 6.大气内部角动量的水平输送主要是靠(平均经向风)角动量的水平输送,(定常扰动)和(非定常扰动)对u 角动量的水平输送。其中(定常扰动)和(平均经向环流)引起的角动量的水平输送比(非定常扰动)引起角动量的水平输送的总垂直积分值小得多,尤其是在北半球夏季,角动量的水平输送主要是靠(非定常扰动)来完成。 7.相对湿度是指空气中的(水汽压)和同温度下的饱和水汽压 的百分比。 考号 : 单位 : 姓 名 :

8.就整个北半球而言,气旋活动最频繁的地带冬季平均在(47)°N,而夏季约在(62)°N,由冬向夏北移15个纬度。 9.(太阳辐射)是大气运动的原动力,它是大气环流以及海洋环流的主要能源。 10.风云二号(FY2)气象卫星是地球同步轨道卫星,轨道平面与赤道平面平行。FY2F和FY2G分别位于(112)°E和(99.5)°E 的赤道上空。 11.在重力内波中,群速与相速的水平分量方向(相同),垂直分量方向(相反)。 12.罗斯贝波主要由(柯氏参数f随纬度)的变化而产生的,是一种(正压无辐散)的水平运动。 13.南北半球的信风有季节性位移。在北半球夏季,东北信风北移,南半球东南信风越过赤道,超过北纬5°时,受(柯氏力的偏转)作用变成西南风,于是东北信风与西南风之间构成位于赤道北面的(赤道辐合带)。 14.流线是指(某一固定时刻),处处与风向相切的一条空间曲线。轨迹是指在(某一段时间内)空气质块运动的路径。只有在流线与轨迹(重合)时,风向才不随时间而变。 15.标准的集合预报产品有集合平均、集合离散度、(天气要素概率图)、(分位数)、(面条图)、(邮票图)和单站预报(或箱线图)。 16.在赤道地区的大尺度运动,主要是由于(凝结潜热释放)来推动的。 17.重力加速度g在赤道地区为(9.78)m/s2;在南北两极地区为(9.832)m/s2;而通常情况下取为常数9.8m/s2。 18.对于高空槽脊的移动,可以通过Rossby长波公式来做定性判断:在波长和西风强度相同的情况下,较高纬度波动移动(快),较低纬度波动移动(慢)。

基于Android天气预报课程设计

教学单位计算机学院 学生学号014301754129 Android课程设计 题目Android天气预报课程设计 学生姓名王能松 专业名称软件工程 指导教师祝攀 2016年11月15日

Android课程设计 (1) 1 绪论 (2) 2背景 (2) 3研究课题 (2) 4 研究目的和意义 (3) 5开发平台和环境 (3) 6需求分析 (4) 7 功能分析 (10) 7.1模块划分 (10) 7.2具体功能实现 (10) 7.3系统E-R图 (11) 8设计小结 (11) 9 参考文献 (12)

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google 收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2012年7月美国科技博客网站BusinessInsider评选出二十一世纪十款最重要电子产品,Android操作系统和iPhone等榜上有名。2013年09月24日谷歌开发的操作系统Android在迎来5岁生日,全世界采用这款系统的设备数量已经达到10亿台。2014第一季度Android平台已占所有移动广告流量来源的42.8%,首度超越iOS。Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号,于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了。Android 是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵。有时候,它们还会使用纯文字的Logo。 2背景 天气信息和人们的日常生活息息相关,随着人们活动范围的扩大和出行需要,及时精确的获取天气信息显得越来越重要。为此,本人设计了天气预报软件,它是一种非常实用的天气信息提供软件,使用方便且功能强大,能提供各方面天气相关信息和贴心的生活指数。用户可以通过天气预报软件及时获得近期天气的状况和变化,及时做好各方面计划和防御措施 3研究课题 本次课程设计选择的课题是基于Android天气预报的程序设计,我们知道,现在越来越多的人喜欢出去旅游,而旅游一个重要的前提是有一个好天气,因此,能提前知道天气的变化以及做好准备是非常重要的,因此,开发一款好的天气软件是非常重要的,它能让用户随时随地查询天气信息及天气变化情况,让我们的生活变得更加美好,舒适!

相关文档
最新文档