天气预报开发文档

合集下载

j2me 实验四 http 天气预报 稳定性增强,请下载j2me实验四.txt,复制里面代码覆盖本文档内相应代码

j2me 实验四   http  天气预报    稳定性增强,请下载j2me实验四.txt,复制里面代码覆盖本文档内相应代码

淮海工学院计算机工程学院实验报告书课程名:《手持设备软件开发》题目:实验4:J2ME网络程序设计班级:学号:姓名:statue评语:成绩:指导教师:批阅时间:年月日一、实验目的与要求掌握MIDP网络程序设计的一般方法。

能够使用GCF中的类和接口及多线程进行网络客户端应用程序的开发,掌握基于HTTP编程的方法,能够处理GET与POST请求。

理解MIDlet推注册及响应网络连接的步骤及方法。

二、实验内容使用Google Weather API开发一个可以显示连云港天气预报的J2ME网络程序。

具体的方法是请求网址:/ig/api?weather=lianyungang&hl=zh-cn然后处理响应返回的XML文档。

样例文档如下:<xml_api_reply version="1"><weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1"row="0" section="0"><forecast_information><city data="Lianyungang, Jiangsu" /><postal_code data="lianyungang" /><latitude_e6 data="" /><longitude_e6 data="" /><forecast_date data="2010-06-03" /><current_date_time data="2010-06-03 11:00:00 +0000" /><unit_system data="SI" /></forecast_information><current_conditions><condition data="雨" /><temp_f data="58" /><temp_c data="14" /><humidity data="湿度:89%" /><icon data="/ig/images/weather/cn_heavyrain.gif" /><wind_condition data="风向:米/秒" /></current_conditions><forecast_conditions><day_of_week data="周五" /><low data="14" /><high data="23" /><icon data="/ig/images/weather/sunny.gif" /><condition data="晴" /></forecast_conditions>……</weather></xml_api_reply>三、实验步骤import javax.microedition.midlet.*;import javax.microedition.io.*;import javax.microedition.lcdui.*;import java.io.*;import java.util.Vector;public class pro4 extends MIDlet implements CommandListener{public static final String RESPONSE_HEADER_CONTENT_LENGTH = "Content-Length";public static final String RESPONSE_HEADER_CONTENT_TYPE = "Content-Type";private Display display;private TextBox tbxMain;private Command cmdExit;private Command cmdDisplay;private String msg="";String url="/ig/api?weather=lianyungang&hl=zh-cn";public pro4(){display=Display.getDisplay(this);cmdExit=new Command("Exit",Command.SCREEN,1);cmdDisplay=new Command("刷新",Command.ITEM,2);getWeather();tbxMain=new TextBox("天气预报",msg,2000,0);tbxMain.addCommand(cmdExit);tbxMain.addCommand(cmdDisplay);tbxMain.setCommandListener(this);}//建立连接public void getWeather(){HttpConnection conn=null;try{conn=(HttpConnection)Connector.open(url,Connector.READ);conn.setRequestMethod(HttpConnection.POST);conn.setRequestProperty("User_agent","Profile/MIDP-2.0 Configuration/CLDC-1.1");}catch(IOException ioe){System.out.println(ioe);}try{DataInputStream sIs = conn.openDataInputStream();String outString=getResponseData(conn,sIs);System.out.println(outString);msg=outString;msg=division(msg);}catch(IOException io){System.out.print(io);}}//分割提取字符串public String division(String str){String out="";int cityStrStart=str.indexOf("city data=")+"city data=".length()+1;int cityStrEnd=str.indexOf("/><postal_code")-1;out=out+"城市:"+str.substring(cityStrStart,cityStrEnd)+'\n';int dateStrStart=str.indexOf("orecast_date data=")+"orecast_date data=".length()+1;int dateStrEnd=str.indexOf("/><current_date")-1;out=out+"日期:"+str.substring(dateStrStart,dateStrEnd)+'\n';int wetStrStart=str.indexOf("湿度:")+"湿度:".length();int wetStrEnd=str.indexOf("/><icon data=")-1;out=out+"湿度:"+str.substring(wetStrStart,wetStrEnd)+'\n';if( str.regionMatches( true,str.indexOf("gif\"/><wind_condition data=")+1 ,"风向" ,0 ,"风向".length() ) ){int windStrStart=str.indexOf("风向:")+"风向:".length();int windStrEnd=str.indexOf("/></current_conditions>")-1;out=out+"风向:"+str.substring(windStrStart,windStrEnd)+'\n';}//第一天int week1StrStart=str.indexOf("day_of_week data=")+"day_of_week data=".length()+1;int week1StrEnd=str.indexOf("/><low data=")-1;out=out+str.substring(week1StrStart,week1StrEnd)+'\n';int low1StrStart=str.indexOf("low data=")+"low data=".length()+1;int low1StrEnd=str.indexOf("/><high data=")-1;out=out+"最低温度:"+str.substring(low1StrStart,low1StrEnd);int high1StrStart=str.indexOf("/><high data=")+"/><highdata=".length()+1;int high1StrEnd=str.indexOf("/><icon data=\"/ig")-1;out=out+"最高温度:"+str.substring(high1StrStart,high1StrEnd);int condition1StrStart=str.indexOf("gif\"/><conditiondata=")+"gif\"/><condition data=".length()+1;int condition1StrEnd=str.indexOf("/></forecast_conditions")-1;out=out+"总体概况:"+str.substring(condition1StrStart,condition1StrEnd)+'\n';//第二天int week2StrStart=str.indexOf("day_of_weekdata=",condition1StrEnd+5)+"day_of_week data=".length()+1;int week2StrEnd=str.indexOf("/><low data=",condition1StrEnd+5)-1; out=out+str.substring(week2StrStart,week2StrEnd)+'\n';int low2StrStart=str.indexOf("low data=",condition1StrEnd+5)+"low data=".length()+1;int low2StrEnd=str.indexOf("/><high data=",condition1StrEnd+5)-1;out=out+"最低温度:"+str.substring(low2StrStart,low2StrEnd);int high2StrStart=str.indexOf("/><highdata=",condition1StrEnd+5)+"/><high data=".length()+1;int high2StrEnd=str.indexOf("/><icon data=\"/ig",condition1StrEnd+5)-1;out=out+"最高温度:"+str.substring(high2StrStart,high2StrEnd);int condition2StrStart=str.indexOf("gif\"/><conditiondata=",condition1StrEnd+5)+"gif\"/><condition data=".length()+1;intcondition2StrEnd=str.indexOf("/></forecast_conditions",condition1StrEnd+5)-1;out=out+"总体概况:"+str.substring(condition2StrStart,condition2StrEnd)+'\n';//第三天int week3StrStart=str.indexOf("day_of_weekdata=",condition2StrEnd+5)+"day_of_week data=".length()+1;int week3StrEnd=str.indexOf("/><low data=",condition2StrEnd+5)-1;out=out+str.substring(week3StrStart,week3StrEnd)+'\n';int low3StrStart=str.indexOf("low data=",condition2StrEnd+5)+"lowdata=".length()+1;int low3StrEnd=str.indexOf("/><high data=",condition2StrEnd+5)-1;out=out+"最低温度:"+str.substring(low3StrStart,low3StrEnd);int high3StrStart=str.indexOf("/><highdata=",condition2StrEnd+5)+"/><high data=".length()+1;int high3StrEnd=str.indexOf("/><icon data=\"/ig",condition2StrEnd+5)-1;out=out+"最高温度:"+str.substring(high3StrStart,high3StrEnd);int condition3StrStart=str.indexOf("gif\"/><conditiondata=",condition2StrEnd+5)+"gif\"/><condition data=".length()+1;intcondition3StrEnd=str.indexOf("/></forecast_conditions",condition2StrEnd+5)-1;out=out+"总体概况:"+str.substring(condition3StrStart,condition3StrEnd)+'\n';//第四天int week4StrStart=str.indexOf("day_of_weekdata=",condition3StrEnd+5)+"day_of_week data=".length()+1;int week4StrEnd=str.indexOf("/><low data=",condition3StrEnd+5)-1;out=out+str.substring(week4StrStart,week4StrEnd)+'\n';int low4StrStart=str.indexOf("low data=",condition3StrEnd+5)+"lowdata=".length()+1;int low4StrEnd=str.indexOf("/><high data=",condition3StrEnd+5)-1;out=out+"最低温度:"+str.substring(low4StrStart,low4StrEnd);int high4StrStart=str.indexOf("/><highdata=",condition3StrEnd+5)+"/><high data=".length()+1;int high4StrEnd=str.indexOf("/><icon data=\"/ig",condition3StrEnd+5)-1;out=out+"最高温度:"+str.substring(high4StrStart,high4StrEnd);int condition4StrStart=str.indexOf("gif\"/><conditiondata=",condition3StrEnd+5)+"gif\"/><condition data=".length()+1;intcondition4StrEnd=str.indexOf("/></forecast_conditions",condition3StrEnd+5)-1;out=out+"总体概况:"+str.substring(condition4StrStart,condition4StrEnd)+'\n';return out;}//获取内容public String getResponseData(HttpConnection aConn, DataInputStream sIs) { boolean isWap = true;byte[] sData = null;String sType = null;int sLen = 0;try {sType = aConn.getHeaderField(RESPONSE_HEADER_CONTENT_TYPE);sLen = Integer.parseInt(getResponseHeaderProperty(aConn, RESPONSE_HEADER_CONTENT_LENGTH));} catch (IOException ex) {System.err.print(ex.toString());} catch (Exception ex) {System.err.print(ex.toString());sLen = 0;}if (sLen > 0) {int sActual = 0; //每一次实际读取的字节数int sBytesread = 0; //总读取的字节数sData = new byte[sLen];while ((sBytesread != sLen) && (sActual != -1)) {try {sActual = sIs.read(sData, sBytesread, sLen - sBytesread); sBytesread += sActual;} catch (Exception ex) {System.err.print(ex.toString());return null;}}} else {int sCh = 0;Vector sVbuffer = new Vector();try {while ((sCh = sIs.read()) != -1) {sVbuffer.addElement(new Integer(sCh));}} catch (Exception ex) {System.err.print(ex.toString());return null;}sLen = sVbuffer.size();sData = new byte[sLen];for (int i = 0; i < sLen; i++) {sData[i] = ((Integer) sVbuffer.elementAt(i)).byteValue();}}String sResult = new String(sData);isWap = false;return sResult;}public String getResponseHeaderProperty(HttpConnection aConn, String aKey) {return aConn.getRequestProperty(aKey);}public void startApp(){display.setCurrent(tbxMain);}public void pauseApp(){}public void destroyApp(boolean unconditional){}public void commandAction(Command c,Displayable s){if(c==cmdExit){destroyApp(false);notifyDestroyed();}if(c==cmdDisplay){getWeather();tbxMain.setString(msg);System.out.println("msg"+msg);}}}四、实验结果五、结果分析与实验体会本次实验可以分为三个部分:建立连接,取出字符串,提取字符串。

微信小程序天气预报开发实例代码源码

微信小程序天气预报开发实例代码源码

微信⼩程序天⽓预报开发实例代码源码微信⼩程序天⽓预报实例主要功能1. ⾃动定位所在城市2. 根据所定位的城市获取天⽓信息3. 显⽰未来⼏天的天⽓情况4. 查看当天天⽓的详情信息先看效果图微信⼩程序-天⽓⾸页微信⼩程序-天⽓详情页思路及编码部份⾃动定位所在城市wx.getLocation:通过官⽅⽂档的API中可以看到wx.getLocation可以获取到当前的地理位置和速度,不过获取到的地理位置只是经纬度,⽽不是真正的城市名称,但我们可以根据这个经纬度来获取城市名称等信息(需要⽤到第三⽅接⼝),再通过城市名称和城市ID获取对应的天⽓信息。

在.js逻辑层增加函数:data:{weatherApikey:'', //天⽓apikey,在 上申请city:'', //城市名称areaid:'', //城市对应的idcurWd:{}, //当天天⽓情况indexs:{}, //当天天⽓详情说明forecast:{} //未来4天的天⽓情况},onLoad:function(options){// ⽣命周期函数--监听页⾯加载this.setData({weatherApikey:getApp().globalData.weatherApikey});this.loadLocation();},//获取当前的位置信息,即经纬度loadLocation: function() {var page = this;wx.getLocation({type: 'gcj02', // 默认为 wgs84 返回 gps 坐标,gcj02 返回可⽤于 wx.openLocation 的坐标success: function(res){// successvar latitude = titude;var longitude = res.longitude;//获取城市page.loadCity(latitude, longitude);}})},//通过经纬度获取城市loadCity: function(latitude, longitude) {var page = this;//这个key是⾃⼰在上申请的var key = "XSWBZ-EVQ3V-UMLPA-U4TP6-6MQFZ-UUFSL";var url = "/ws/geocoder/v1/?location="+latitude+","+longitude+"&key="+key+"&get_poi=1";wx.request({url: url,data: {},method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT// header: {}, // 设置请求的 headersuccess: function(res){// successvar city = res.data.result.address_component.city;city = city.replace("市", ""); //将“市”去掉,要不然取不了天⽓信息page.setData({city: city});page.loadId(city);}})},//通过城市名称获取城市的唯⼀IDloadId: function(city) {var page = this;var url = "/apistore/weatherservice/citylist";wx.request({url: url,data: {cityname: city},header: {apikey:page.data.weatherApikey},method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECTsuccess: function(res){// successvar cityid = res.data.retData[0].area_id;page.setData({areaid: cityid});page.loadWeather(city, cityid);}})},//通过城市名称和城市ID获取天⽓情况loadWeather: function(city, areaId) {var page = this;var url = "/apistore/weatherservice/recentweathers";wx.request({url: url,data: {cityname:city,cityid: areaId},header: {apikey: page.data.weatherApikey},method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECTsuccess: function(res){// successpage.setData({curWd : res.data.retData.today, indexs: res.data.retData.today.index, forecast:res.data.retData.forecast});}})},//事件绑定,跳转到天⽓详情页⾯gotoDetail: function(event) {// console.log(this.data.areaid+"==在这⾥跳转=="+this.data.city);wx.navigateTo({url: '../detail/detail?city='+this.data.city+"&cityid="+this.data.areaid})}注意:page.setData或this.setData都是⽤来设置data中的数据值的。

文档:天气预报的方法

文档:天气预报的方法

天气预报的3种方法(一)天气预报的内容和时效目前天气预报包括天气形势预报和气象要素预报两部分,前者对天气系统(高压、低压、槽脊、锋面等等)的移动、强度变化和生成、消亡的预报;后者是对气温、气压、湿度、能见度、风、云江水等等气象要素和天气现象的预报。

两者密其相关,天气形势是预报气象要素的基本依据。

预报时效包括短时预报、短期预报、中期预报和长期预报。

通常称时效在几个小时内的预报为短时预报,时效1~3天的预报为短期预报,时效为3~10天的预报为中期预报,时效10天以上的月、季年预报为长期预报,也有人把一年以上的预报成为超长期预报。

时效越短的预报,要求预报的越准确。

(二)天气预报方法目前气象台使用的天气预报方法,大体分为三类,即天气图法、数值预报法和数理预报法等。

天气图法和数值预报法主要用于短期预报,近年来也在向中期预报方向延伸。

数理统计预报法主要用于长期预报,近年来也向短期预报方面发展。

在实际预报工作中三种方法是相互结合、相互补充使用的。

1.天气图预报法天气图预报法是出现最早的一种天气预报方法,目前仍然是大多数气象台采用的主要的方法。

天气图法是以天气图为基本工具的预报方法。

它从同一时刻的各层天气图上分析出天气系统及其结构和天气状况,又从前后连贯的几个时刻天气图上判断出这些天气系统的生成、移动、发展、消亡等等变化,以及各个天气系统之间的相互关系。

根据这些分析,应用天气动力学原理来预测各个天气系统的未来演变,作出天气形势预报。

再依据天气形势的可能演变趋势作出温度、气压、风、云、降水等等气象要素和天气现象的预报。

在天气预报过程中除了遵循天气学的分析原则以外,还与预报员的实践经验有很大关系。

因而天气图预报法带有一定的主观成分,预报的精确度受到一定的限制,它属于半经验性的预报。

在实际工作中经常使用的方法,一般是经验方法,如外推法、引导气流法及历史资料的应用等。

(1)外推法。

天气形势的发展一般都在一定时间内具有一定的持续性。

Android天气预报系统文档

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,在此布局文件中有五个相对布局。

未来十天天气预报

未来十天天气预报

未来十天天气预报这篇文档将为您提供未来十天的天气预报。

为了方便阅读,将按照日期的先后顺序进行展示。

Day 1:日期:今天天气状况:晴朗气温:25°C - 32°C降雨概率:10%今天是个晴朗的日子,温度适宜,最高气温预计将达到32°C,夜晚的气温将下降到25°C左右。

降雨概率很低,大家可以安心地外出活动。

Day 2:日期:明天天气状况:多云气温:24°C - 31°C降雨概率:20%明天将有些多云,不过气温依然温暖,最高气温预计在31°C左右,夜晚的气温将下降到24°C。

有20%的降雨概率,建议携带雨具。

Day 3:日期:后天天气状况:阴天气温:23°C - 29°C降雨概率:40%后天将会是一个阴天,气温稍低,最高气温预计在29°C左右,夜晚的气温将下降到23°C。

降雨概率为40%,记得带上雨具应对可能的降雨。

Day 4-6:日期:第四天至第六天天气状况:多云转晴气温:22°C - 28°C降雨概率:10%这三天的天气转换起伏较大。

第四天将有些多云,气温在28°C左右,夜晚的气温将下降到22°C。

第五天和第六天将转为晴朗天气,气温分别为27°C和26°C左右。

这三天的降雨概率均为10%。

Day 7-9:日期:第七天至第九天天气状况:晴朗气温:26°C - 33°C降雨概率:5%这三天将是一个晴朗炎热的时候。

最高气温将达到33°C,夜晚的气温在26°C左右。

降雨概率极低,只有5%。

建议外出时做好防晒措施,并随身携带水分。

Day 10:日期:第十天天气状况:多云转阴天气温:25°C - 30°C降雨概率:30%在这个十天预报的最后一天,天气将转为多云,最高气温约为30°C,夜晚的气温将下降到25°C左右。

天气预报

天气预报
天气预报
华北北部、东北地区未来几天天气如何变化?
气团: 水平方向上温度和湿度等物理性质 比较均一的大范围的空气块
暖气团 比下垫面温度高的气团
分类
冷气团 比下垫面温度低的气团
单一气团控制,天气晴朗
锋面系统
冷气团
地平面
暖气团
①冷暖气团的交界面叫锋面,亦称锋区。 ②一般是冷气团在锋面下面,暖气团在锋面上面。 ③锋面附近常伴有云、雨、大风等天气
2.下列图示四地,在其他条件相同的情况下,表示气温 最高、气压最低、天气晴朗的是( D )
我国的古代诗歌中有不少作品蕴含着丰富的地理 信息,有些与天气系统有关,据此回答以下问题
9.“黑云翻墨未遮山,白雨跳珠乱入船。卷地风来忽吹散, 望湖楼下水如天。”此诗中所描述的天气现象与哪种天气 系统有关? ( A ) A.冷锋 B.暖锋 C. 准静止锋 D. 反气旋 10.“黄梅时节家家雨,青草池塘处处蛙。”诗句中所描述的 是影响我国东部地区另一性质的锋面,该锋影响下的天气 特征是 ( C ) A. 降水时间短 B. 降水强度很大 C. 持续阴雨天气 D.影响范围很小
3.右图甲地位于低压中心,读图回答: 图中四点中,受冷气团控制的是 (B ) A.①③ B. ②④ C. ①④ D. ②③
4、某地出现云层加厚,接着形成连续性降水, 两天后雨过天晴,气温上升,气压下降,该地是: A、慢行冷锋过境 B、快行冷锋过境 C 、暖锋过境 D、受准静止锋影响 C 、暖锋过境
5、夏初,我国长江中下游地区梅雨天气的形成, 主要是受: A、冷锋过境的影响 B、暖锋的影响 C D、西风的影响 C、准静止锋的影响 、准静止锋的影响 6、某一天气系统过境时,引起狂风暴雨,气温 剧降,它是: A、台风 B、慢行冷锋 C、快行冷锋 D、准静止锋

(完整版)基于Android平台的天气预报系统的设计与开发毕业论文

(完整版)基于Android平台的天气预报系统的设计与开发毕业论文

基于Android平台的天气预报系统的设计与开发摘要:安卓是谷歌于2008年推出的一个智能手机操作系统,其独特的设计模式使得开发手机软件变得非常简单。

该论文介绍了一款安卓天气预报的设计与实现过程。

用户可以通过主界面选择城市来获得包括风力、风向、紫外线强度等的天气信息。

基于手机的天气预报系统能够使用户对于各地的天气情况实时掌握,方便用户的出行和行程安排,具有一定的实用性。

关键字:实时预报,Android,温度检测,定位The Design and Development of Weather Forecast System based on theAndroid SystemAbstract: Android is a Smartphone system launched by Google in 2008, whose unique design pattern makes it easier to develop mobile phone softwares . The paper introduces the process of the design and implementation of a Android weather forecast system. Users can choose a city what he likes from the home screen to get access to the weather information ,including wind,wind direction,strong of ultraviolet light and so on.Weather forecast system based on mobile phone enables users to takethe real-time control of weather conditions of all parts,thus bringing great convenience to the user's travel and travel arrangements, and has a certain practicalityKeywords: real-time forecast, Android , Temperature detection , location毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。

手机安卓开发设计报告-天气预报APP

手机安卓开发设计报告-天气预报APP

一、需求分析(一)引言1.编写目的1.1 为用户提供一个显示天气预报的软件,可以根据百度地图显示用户需求的城市位置,以及用图标表示各城市对应的气象信息,可以简洁的表示出“晴、雨、雪”和“气温”气象信息。

2. 项目风险2.1 (项目风险识别是指找出影响项目目标顺利实现的主要风险因素,并识别出这些风险究竟有哪些基本特征、可能会影响到项目的那些方面。

)2.2 联网收费视用户电话运营商的收费标准决定2.3 手机或者无线信号不好时,可能无法连接或更新天气情况3. 预期读者和阅读建议3.1 预期读者:会使用已经安装安卓系统的手机或者平板电脑及其他移动设备的用户3.2 阅读建议:读者应通过该文档可以了解相关项目的需求分析、使用注意事项以及可能存在的风险4. 产品范围2.2手机,平板电脑,MP4,导航仪,上网本,电纸书等使用安卓系统的数码领域(二)综合描述1.产品的状况1.1 Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。

目前未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。

Android操作系统最初由Andy Rubin开发,最初主要支持手机。

2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他数码领域上。

我们开发的相关项目正是一个在安卓平台上开发的软件,可以用这个软件来实现用户在一些简单的手持设备如手机或者平板电脑等上面及时的了解到用户所在城市的天气预报。

2. 产品的功能2.1 天气信息获取2.2 天气信息显示3. 系统配置功能3.1 用户类和特性安卓平台用户:安卓新用户可以使用软件来了解用户所在城市的天气预报。

熟悉安卓平台用户还可以选择对相关软件的系统按自己的喜好进行配置并保留自己的个性化系统配置。

安卓软件开发者:安卓软件开发者(喜好者)可以通过相关的开源代码来了解软件运行的原理。

3.2 运行环境软件需要在支持安卓系统的可移动设备中正确安装才能正常运行。

天气预报范文

天气预报范文

天气预报范文
天气预报。

今天的天气预报显示,北京市将迎来一次强降雨天气,预计降雨量较大,市民需做好防范措施,避免出行受到影响。

根据气象部门的预测,今天上午开始,北京市将迎来一次降雨天气,降雨量较大,局地可能出现暴雨。

气象部门提醒市民,要注意防范可能引发的城市内涝和交通拥堵等问题。

建议市民尽量减少外出,如需外出,要注意携带雨具,并且谨慎驾驶,避免发生交通事故。

此外,气象部门还发布了雷电预警,提醒市民在雷雨天气中要远离高大建筑物、树木等,以免被雷击。

同时,户外作业人员也要注意避雷,确保人身安全。

另外,受降雨天气影响,气温也将有所下降,市民们需注意保暖,避免感冒等疾病。

特别是老年人、儿童和体弱者,更要注意保暖,避免受凉引发疾病。

对于农业生产和水利工程来说,这次降雨虽然对农作物生长和水库蓄水有一定的好处,但也可能造成农田积水和山洪等问题,需要相关部门做好防范工作,确保农田和水库的安全。

总的来说,今天的天气情况较为复杂,市民们要根据气象部门的预警信息,做好防范措施,确保自己和家人的安全。

希望大家都能度过这段特殊的天气,平安健康。

安卓天气预报开题报告doc

安卓天气预报开题报告doc

安卓天气预报开题报告篇一:基于安卓的系统开题报告本科生毕业设计(论文)开题报告论文题目:基于Android平台的学生教务信息系统设计与实现学院:基于Android平台的学生教务信息管理系统一、课题的研究目的和意义学生教务系统是一个学校学生管理中不可缺少的一部分,对于学校的管理者以及学生本身来说都至关重要。

互联网的普及和网上教务系统的更趋向于成熟化,系统应该为学生用户提供更加方便的查询手段与信息管理方式。

而计算机的不可移动性及系统本身繁琐的登陆认证、查询操作使系统使用带来不方便。

开发一款基于智能手机平台、功能简单、可随时利用无线网络进行在线选课、成绩查询、了解校园资讯的软件,为学生提供方便、可移动、准确的服务在安卓手机的逐渐普及下,越来越多的学生接触并使用安卓系统的移动终端,例如,成为学生生活中的重要工具。

在校园内,学校校园网站为学生提供学生课程表、学生选课、学生成绩等信息管理,为学生的校园生活提供直接信息,随着移动互联网络的发展,学生大都采用手机进行随时随地上网,登陆校园网来了解自己的校园信息,但是智能手机无论从执行效率、内存大小、屏幕大小以及操作方式都与计算机有很大差别,如果单纯用智能手机里浏览器通过网址连接校园网站获取信息,如同计算机里显示样式一样,就会给智能手机带来一定的负担。

因此为了使学生更好的利用手机方便学习与校园生活,开发基于Android平台的智能移动终端应用软件,依托移动互联网络和校园网站,让学生可以随时随地了解校园生活和学业信息,极大地方便学生。

2.国内外发展状况Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。

Android 操作系统最初由Andy Rubin开发,主要支持手机。

XX年8月由Google收购注资。

XX年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。

天气预报模型

天气预报模型

天气预报模型:软件体系结构与性能J. MICHALAKES, J. DUDHIA, D. GILL, T. HENDERSON,J. KLEMP, W. SKAMAROCK, W. WANG中小尺度气象部门,国家大气研究中心,Boulder,美国科罗拉多80307 2004年5月第一个非测试版的天气研究和预报(WRF)建模系统是为大气研究和运行NWP用户设计和实施全功能的下一代建模系统的一个关键的里程碑社区。

以效率,可移植性,可维护性和可扩展性作为基岩需求,WRF软件框架允许增量和合理的快速开发,同时保持总体一致性和坚持架构及其接口。

WRF 2.0版本支持该模型设想的全部功能,包括在一系列高性能计算平台,多个动态核心和物理选项上的高效可扩展性能,低开销双向交互嵌套,移动嵌套,模型耦合,以及与其他常见模型基础设施工作(如ESMF)的互操作性。

1.介绍WRF项目已经开发了下一代中尺度预报模型和同化系统,以推进中尺度降水系统的理解和预测,并促进研究和运营预测社区之间的更紧密的联系。

随着2004年5月向社区发布WRF 2.0版本,将WRF 建模系统广泛传播给大量用户,并将其应用于各种领域,包括风暴规模研究和预测,空气质量模拟,图1 WRF系统示意图野火模拟,飓风和热带风暴预测,区域气候和作战数字天气预报正在良好进行。

2004年年底,注册下载次数超过2,500件。

来自20个国家的93个机构的173名参与者于2004年6月在NCAR参加了年度WRF用户研讨会,并听取了28次涉及以WRF模式开展工作的科学报告。

在NOAA国家环境预测中心和美国空军气象局,正在进行WRF的运行实施。

已经形成了NOAA / NCAR / DoD联合发展试验中心,以促进研究界的新发展的持续测试,评估和过渡在NCEP,AFWA和美国海军通过在各中心建立的操作测试中心的操作。

如图1所示,WRF系统包括WRF模型本身,用于为理想化,实数据和单向嵌套预测产生初始和横向边界条件的预处理器,用于分析和可视化的后处理器,以及三维变化数据同化(3DVAR)程序。

北京天气预报播报稿件

北京天气预报播报稿件

北京天气预报播报稿件1.校园天气预报稿件亲爱的朋友们,你们好。

欢迎收听我校广播台为您播报的天气预报。

古人说“天有不测风云”这天气对我们的出行,工作有很大的影响。

今天全国普遍吹偏钱风,大部分地区会有大范围的降雨过程。

部分地区还会出现大范围的中雨和大雨。

其中在长江三角洲地区局部会出现暴雨。

特别是著名的沈家门渔港,会迎来百年难遇的台风,最高风力为10级,其中中心气压为1500帕,气象部门提醒您,出门一定要带好雨伞,以免给您的生活带来意外的特大损失。

好了,这次的气象预报就到这里了,这是由气象台独家提供的哦!南部,多云间晴,最低气温13-15度,最高气温25-27度。

明天白天到夜间:北部,多云间晴,最低气温11-13度,最高气温22-24度中部,多云间晴,最低气温7-9度,最高气温22-24度东部,多云间晴,最低气温12-14度,最高气温22-24度西部,多云间晴,最低气温8-10度,最高气温22-24度南部,多云间晴,最低气温14-16度,最高气温25-27度。

Word文档 1海洋天气预报今天白天到夜间:北部湾海面,本岛四周海面,多酣锭丰瓜莶盖奉睡斧精云间晴,北到东北风5级,阵风6级,西沙、中沙群岛附近海面,多云,东北风5-6级,南沙群岛附近海面,多云,西北风5-6级。

明天白天到夜间:北部湾海面,本岛四周海面,多云间晴,北到东北风5级,阵风6级,西沙、中沙群岛附近海面,多云,东北风5-6级,南沙群岛附近海面,多云,西北风5-6级。

海口市天气预报今天白天:多云间晴,最高气温22度2.报北京天气预报北京25日星期六多云转晴高温:34℃低温:21℃微风26日星期日多云高温:29℃低温:23℃微风27日星期一雷阵雨高温:29℃低温:20℃微风28日星期二多云高温:32℃低温:21℃微风29日星期三多云高温:33℃低温:24℃微风30日星期四晴高温:33℃低温:24℃微风匿名2021-11-0911:21你觉得这个答案好不好?完善答案满意答案成都北京 25日星期六多云转晴高温:34℃低温:21℃微风26日星期日多云高温:29℃低温:23℃微风27日星期一雷阵雨高温:29℃低温:20℃微风28日星期二多云高温:32℃低温:21℃微风29日星期三多云高温:33℃低温:24。

中班科学《天气预报》

中班科学《天气预报》

中班科学:《天气预报》尊敬的读友您好:本文由网络收集而来,分享到本网站是为了能够帮助到大家,大家如果阅读之后是自己需要的文档可以点击下载本文档’下载文档是收费的‘所以请先阅读再下载「谢谢各位读友’本人在此祝各位读友工作顺利'事事如意看中班科学《天气预报》活动目标:1、了解天气预报的内容以及与我们生活的关系2、能用绘画的方式来记录气象3、增强关注气象的兴趣活动准备:各种气象的图片、纸、油画棒、天气预报的录音活动过程:一、话题引入1、老师遇到了一个难题,想请小朋友们来帮帮我,我明天想出去玩,但是我不知道明天的天气怎么样,我该怎么办呀?谁能帮帮我。

2、哪里有天气预报?3、天气预报里都说些什么东西呢?二、听天气预报,讨论天气预报与我们生活的关系1、现在我们来听一听天气预报,听完之后我请小朋友来说一说你在天气预报里听到了什么?2、你在天气预报里听到了什么?(如果有些内容没有听出来,再放一遍录音)3、天气预报为什么要告诉我们这些东西?三、用画来记录天气1、今天的天气怎么样?2、天气除了晴天,还会是怎么样的?3、你们能不能把这些天气画出来?4、每个小朋友选择一种或两种不同的天气,把他画在纸上,让别人看了之后能够知道你画的是什么天气。

5、我请小朋友来说一说你画的是什么天气。

四、认识天气预报中一些气象的标1、老师给你们带来了天气预报中用到的一些标志,我们来看看他们表示的是什么天气。

活动延伸:在教室里设置一块天气预报,请幼儿??流来画当天的天气,将画贴起来指导老师建议:1、提问:“天气预报里都说些什么东西”这个问题太宽泛,可以问“天气预报对我们有什么帮助?”提问要准确,切入点要小。

2、科学活动中要避免问题绕来绕去,第三环节中“天气预报为什么要告诉我们这些”与引入当中那个问题讨论的是同一个问题,回答的时候也有幼儿说可以让我们知道什么时候去玩。

3、活动准备方面:把录音改成视频,有一个图像的呈现,这样能更好地提起幼儿的兴趣,天气标志的图片再丰富一些。

工程施工天气预报

工程施工天气预报

工程施工天气预报一、引言本文档旨在提供工程施工过程中的天气预报信息,以帮助施工方合理安排工作计划和采取相应的预防措施。

二、天气预报来源天气预报信息通过以下途径获取:1. 气象部门:我们从当地气象部门获取最新的天气数据和预报信息。

这些数据包括温度、降水量、风力等各项指标。

2. 气象站:我们设立气象站以监测和记录实时天气情况,确保数据准确性和及时性。

3. 大数据分析:我们利用大数据分析技术对历史气象数据进行整理和分析,从而预测未来一段时间的天气情况。

三、施工天气预报提供基于以上天气预报来源,我们将为您提供以下信息:1. 温度:预测施工期间的最高温度和最低温度,以帮助您合理安排工人的作息时间和选择合适的施工材料。

2. 降水量:预测施工期间的降水情况,包括降雨量和降雨时间段,以便您采取相应的防水措施和施工安排。

3. 风力:预测施工期间的风力等级,以确保施工过程中的安全性和稳定性。

四、注意事项在使用天气预报信息时,请注意以下事项:1. 天气预报并非绝对准确:由于天气的复杂性和变化性,天气预报仅供参考,具体情况仍需实地观察和判断。

2. 及时更新信息:由于天气条件可能发生变化,请定期更新天气预报信息以确保施工计划的准确性。

3. 综合考虑多种因素:在制定施工计划时,请综合考虑天气预报以及其他因素,如工期、施工场地条件等。

五、总结本文档提供了工程施工期间的天气预报相关信息,以帮助您合理安排工作计划和采取相应的预防措施。

请根据实际情况综合考虑并合理运用天气预报信息,确保施工过程的顺利进行。

>注意:天气预报信息仅供参考,具体施工情况仍需以实地观察和判断为准。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安卓天气预报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设备每天激活量高达85万台。

Google的官方数据表明,Android在电子市场上的应用程序数量已经突破45万。

相信在不久的将来,会有越来越多的用户选择Android系统的手机。

Android系统是以Linux为核心的手机操作平台,并且它是作为一款开放式的、可扩展的操作系统。

随着Android的快速发展,如今它已经允许开发者使用多种编程语言来编写Android的应用程序,而不再是像以前一样,只能使用Java语言来开发Android应用程序。

因此,它受到了许许多多的开发者的欢迎,成为了真正意义上的开放式操作系统。

1.2研究意义天气预报是一种具有实用的信息服务,伴随着智能手机的不断普及和应用,各种智能手机平台下都有不同的天气预报软件。

Android作为现在主流的智能手机之一,自然也有这方面的软件。

天气状况常常关系到人们的日常生活,比如它能告知温暖,提供方便出行等等。

此外,它对未来天气的预测还可以帮助农民对农作物的浇灌、施肥、收割等一系列的工作指导,以便让他们提前做出防御措施,?把气象灾害带来的损失降到最低程度,并且能使得广大公众在第一时间方便、快捷地获取最新的天气预报信息。

同时它也可以强化天气公共服务的职能,改善公共服务手段、完善公共服务体系、提高公共服务质量,更好地发挥了气象事业对社会发展的现实性作用。

? 这款手机天气预报系统给人们生活带来方便的全方位信息,是人们在日常生活中必不可少的生活用品。

此天气预报软件的界面明了,操作简单,适合各类人士,对提高人们生活水平具有?一定的促进作用。

1.3研究内容Android平台的天气预报系统是基于Android手机平台,利用Java语言,从Google上获取天气预报的信?息,开发出对使用Android平台的手机天气预报系统的一款应用软件。

? 为了让智能手机用户能够随时随地查询互联网所提供的服务,让手机能通过互联网访?问Web?网站并处理各项不同的业务,其中有一种非常高效的方法就是将应用系统的功能拓展到手机的客户端。

Android?的一个最大特点就是它的开放性架构体系,它不仅仅具有非常好的调试环境和开发环境,而且它还具有各种各样的可扩展功能,其中还包括丰富的多媒体功能和图形组件的强大浏览器,而且其技术已经逐渐趋于成熟。

通过对界面的布局和控件使用等相关知识的学习和应用,使我对Android平台下的开发工作有了一个初步的了解,并且经过这次的开发,它使我能够基本掌握这些重要内容。

软件开发以后,它能够帮助用户随时搜索由中国气象局提供的全国范围内的城市的天气信息,并且把数据显示在一个界面美观、布局合理窗口内,使用户能够舒适的享受此软件带来的简便的服务。

第2章系统分析2.1研究目标1.要了解和认识Android应用程序的开发和设计过程;?2.运?用Web Service来实现Android?平台的手机天气预报系统的设计。

? 此软件是基于Eclipse的开发环境下,利用Google天气的气象数据建立起天气预报信息数据库,?从而开发出了针对于Android平台的手机天气预报软件。

2.2需求分析在当代社会中,手机已经发展成为广大人们群众的日常生活中必不可少的通讯工具,?而且,手机的功能也逐渐趋于完善。

手机用户可以选择开通GPRS网络服务,这种服务的方便和快捷,使人们对于手机上网的需求得到了保证,从而带动了手机软件的发展,并且让我国的移动通讯功能也得到了大大的提高。

越来越多的手机软件被用在手机上,弥补和完善了原始系统的不足。

随着科技的发展,现在手机的功能越来越多,也越来越强大,再也不像以前那么死板、简单。

此软件是在现有手机的基础上,通过网络查询实现天气状况的报告和未来天气的预报等功能,让人们的出行和生活得到方便和保证。

此软件是一个利用中国气象网来获取天气的应用程序,启动程序后可以进行城市之间的选择的设置,并且可以通过图片、文字来显示当前和未来几天的天气情况,其中包括温度、湿度、风向和雨雪等情况。

这些天气的数据是通过后台服务获取的,并从网上上获取天气的相关信息,将天气的信息保存在数据库中,方便用户的更新和查看。

2.3性能分析1.点击Weather.apk安装;2进入主界面后,看到的是默认的城市和它的天气情况;3点击右上角的“城”按钮,进行其他城市的选择,点击保存即可获得该城市的天气预报信息;? 此软件操作十分简单,设计的比较人性化,应用也很方便,安全性能较高、程序的响应速度也很快、信息处理速度快。

第3章程序设计与实现3.1用户界面的实现Android提供的UI开发模块是基于XML文件的,这些XML 文件放在res/layout下面。

此目录可包含所有应用程序的非代码部分,比如图片、xml文件等。

如果要使用这些资源,在代码目录下打开R.java文件即可。

在xml中编写界面代码,实现的时候方便和灵活。

在Android程序设计中要用到一些基本的UI元素,通过运用Views、ViewGroups和layout可为Activity创建直观的UI。

通常用Android SDK中的一些控件,并用ViewGroups去组合Views,实现数据的显示。

在一个Android的应用中,用户界面由View和ViewGroup对象构建。

View对象是Android平台中用户界面的基本单元。

View类是widgets(工具)类的父类,它们提供了如文本输入框和按钮之类的UI。

VieGroup类是Layout(布局)类的父类,它们提供了如表格布局和布局的架构等。

View是一个数据体,它存储了屏幕上一个区域的布局参数和内容,并负责它所管辖的区域中的测量、卷动和按键手势的处理。

为了创建Android平台的用户界面,首先要在PackageExplorer中展开layout后新建即可。

XML文件用来对窗口进行布局,主要有系统运行的配置文件有main.xml和result.xml。

Layout是一类ViewGroup控件,它本身没有内容,存在的唯一原因就是其中的结构能放好它的子控件。

比如,Linearlayout可以将子控件按水平或垂直方向排列;Tablelayout可以将子控件按表格形式依次放好。

所以,有了Layout,控件和控件之间不再是分裂开的。

其主要代码是:<ScrollViewxmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:scrollbars="vertical"android:fadingEdge="vertical"android:background="@drawable/back1"><RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:scrollbars="vertical"android:fadingEdge="vertical"><TableLayout android:id="@+id/table"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/weatherbg"><TableRowandroid:layout_width="fill_parent"android:layout_height="wrap_content"><LinearLayout android:layout_width="wrap_content"android:layout_height="fill_parent"android:gravity="center"android:orientation="vertical"><TextView android:id="@+id/cityname"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textStyle="bold"android:textColor="#2F4F4F"android:paddingLeft="25dp"android:layout_gravity="center"android:textSize="28dp"android:text="未知"/><TextView android:id="@+id/tempe"android:layout_width="fill_parent"android:layout_height="wrap_content"android:paddingLeft="40dp"android:textColor="#FF8C00"android:textSize="10dp"android:text=""/></LinearLayout><ImageViewandroid:id="@+id/icon"android:layout_width="100dp"android:layout_height="50dp"android:layout_gravity="center"/></TableRow><TableRowandroid:layout_width="fill_parent"android:layout_height="wrap_content"><LinearLayout android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingLeft="30dp"android:gravity="center"android:orientation="vertical"><TextView android:id="@+id/tdate"android:layout_width="fill_parent"android:layout_height="wrap_content"android:textSize="14dp"android:textColor="#E0FFFF"android:text="时间:2012年12月12日"/><TextView android:id="@+id/tweek"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_gravity="right"android:textColor="#E0FFFF"android:textSize="12dp"android:text="星期:星期三"/></LinearLayout><TextView android:id="@+id/weather"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:textColor="#FAFAD2"android:gravity="bottom"android:textSize="18dp"android:text="晴"/></TableRow></TableLayout><LinearLayout android:layout_toRightOf="@id/table"android:paddingTop="40dp"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"><Button android:id="@+id/setcity"android:layout_width="40dp"android:layout_height="40dp"android:background="@drawable/button_place"android:visibility="gone"/><Button android:id="@+id/refresh"android:layout_width="40dp"android:layout_height="40dp"android:background="@drawable/button_fresh"/></LinearLayout><LinearLayout android:id="@+id/clothes"android:layout_width="wrap_content"android:layout_below="@id/table"android:layout_height="wrap_content"android:gravity="center"android:orientation="horizontal"><ImageViewandroid:id="@+id/clothesicon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/clothes"android:layout_gravity="top"/><TextView android:id="@+id/clothesvalue"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#FF8C00"android:textSize="16dp"android:text="穿衣指数"/></LinearLayout><TextView android:id="@+id/title"android:layout_below="@id/clothes"android:layout_width="fill_parent"android:layout_height="wrap_content"android:textSize="18dp"android:textColor="#FF4500"android:background="#77A9A9A9"android:text="生活指数:"/><ListView android:id="@+id/lifevalue"android:headerDividersEnabled="false"android:fitsSystemWindows="false"android:layout_below="@id/title"android:layout_width="wrap_content"android:layout_height="180dp"android:scrollbars="vertical"></ListView><Button android:id="@+id/forecast"android:layout_below="@id/lifevalue"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginBottom="10dp"android:textSize="18dp"android:textColor="#FF4500"android:background="@drawable/button_long"android:text="未来六天天气预报"/> <TextViewandroid:id="@+id/test"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_above="@+id/forecast2"android:text="Button"android:textColor="#ff0033"/><LinearLayoutandroid:id="@+id/forecast2"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@+id/forecast"android:orientation="vertical"></LinearLayout></RelativeLayout></ScrollView>3.2 获得和解析数据首先是httpget 主要代码如下:private String connServerForResult(String strUrl) {// 获取HttpGet对象HttpGet httpRequest = new HttpGet(strUrl);// httpRequest.String strResult = "";try {// HttpClient对象HttpClient httpClient = new DefaultHttpClient();// 获得HttpResponse对象HttpResponse httpResponse =httpClient.execute(httpRequest);if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {// 取得返回的数据strResult =EntityUtils.toString(httpResponse.getEntity());}} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}if (strResult.charAt(0) != '{')strResult = '{' + strResult;if (strResult.charAt(strResult.length() - 1) != '}') strResult = strResult + '}';return strResult;}然后对获得的json数据进行解析,主要代码:// 普通Json数据解析private void parseJson(String strResult) {try {JSONObject jsonObj = new JSONObject(strResult).getJSONObject("weatherinfo");// JSONArray jsonArray =jsonObj.getJSONArray("calendarlist");// 清空原数据lifeV.clear();tempes.clear();weathers.clear();winds.clear();fls.clear();// 打开SharedPreferences更新数据Editor write = dataofday.edit();today = jsonObj.getString("date_y"); // 当前日期dayofweek = jsonObj.getString("week"); // 当前星期city = jsonObj.getString("city"); // 城市名称ftime = jsonObj.getInt("fchh");// 更新时间(整点)【更新时间确定temp1属于哪天】write.putString("cityid", cityid);// 城市IDwrite.putInt("ftime", ftime);// 更新时间write.putString("city", city);write.putString("today", today);write.putString("dayofweek", dayofweek);for (int i = 1; i <= 6; i++) {// 六天天气的图片Idimages[i - 1] = jsonObj.getInt("img" + (i * 2 - 1));write.putInt("img" + (i * 2 - 1),jsonObj.getInt("img" + (i * 2 - 1)));// 六天的气温(摄氏度)tempes.add(jsonObj.getString("temp" + i));write.putString("temp" + i, jsonObj.getString("temp" + i));// 六天的天气描述weathers.add(jsonObj.getString("weather" + i));write.putString("weather" + i,jsonObj.getString("weather" + i));// 六天的风力大小及风向winds.add(jsonObj.getString("wind" + i));write.putString("wind" + i, jsonObj.getString("wind" + i));// 六天的风力fls.add(jsonObj.getString("fl" + i));write.putString("fl" + i, jsonObj.getString("fl" + i));}// 生活指数lifeV.add(jsonObj.getString("index"));lifeV.add(jsonObj.getString("index_d"));lifeV.add(jsonObj.getString("index48"));lifeV.add(jsonObj.getString("index48_d"));lifeV.add(jsonObj.getString("index_uv"));lifeV.add(jsonObj.getString("index48_uv"));lifeV.add(jsonObj.getString("index_xc"));lifeV.add(jsonObj.getString("index_tr"));lifeV.add(jsonObj.getString("index_co"));lifeV.add(jsonObj.getString("index_cl"));lifeV.add(jsonObj.getString("index_ls"));lifeV.add(jsonObj.getString("index_ag"));// 写入保存数据write.putString("index", lifeV.get(0));write.putString("index_d", lifeV.get(1));write.putString("index48", lifeV.get(2));write.putString("index48_d", lifeV.get(3));write.putString("index_uv", lifeV.get(4));write.putString("index48_uv", lifeV.get(5));write.putString("index_xc", lifeV.get(6));write.putString("index_tr", lifeV.get(7));write.putString("index_co", lifeV.get(8));write.putString("index_cl", lifeV.get(9));write.putString("index_ls", lifeV.get(10));write.putString("index_ag", lifeV.get(11));// 提交数据mit();} catch (JSONException e) {return;}3.3 在UI上呈现天气信息主要代码如下:protected void onCreate(Bundle savedInstanceState) { // 天气预报页面super.onCreate(savedInstanceState);setContentView(yout.activity_weather);cityname = (TextView) findViewById(R.id.cityname);test = (TextView) findViewById(R.id.test);date = (TextView) findViewById(R.id.tdate);week = (TextView) findViewById(R.id.tweek);temp = (TextView) findViewById(R.id.tempe);// 温度weather = (TextView) findViewById(R.id.weather);clothesv = (TextView) findViewById(R.id.clothesvalue);icon0 = (ImageView) findViewById(R.id.icon);forecast = (Button) findViewById(R.id.forecast);forecast2 = (LinearLayout) findViewById(R.id.forecast2); refresh = (Button) findViewById(R.id.refresh);Dialog = new ProgressDialog(WeatherActivity.this);setListener();// 设置监听器lifeV = new ArrayList<String>();tempes = new ArrayList<String>();weathers = new ArrayList<String>();winds = new ArrayList<String>();fls = new ArrayList<String>();lifeValue = (ListView) findViewById(R.id.lifevalue);dataofday = getSharedPreferences(PREFS_NAME, 0);// 获取数据ftime = dataofday.getInt("ftime", -1);today = dataofday.getString("today", "2015年2月22日");city = dataofday.getString("city", "武汉");dayofweek = dataofday.getString("dayofweek", "星期日");for (int i = 1; i <= 6; i++) {// 图片Idimages[i - 1] = dataofday.getInt("img" + (i * 2 - 1), 0);// 六天温度tempes.add(dataofday.getString("temp" + i, "0"));// 六天天气描述weathers.add(dataofday.getString("weather" + i, "未知"));// 六天风的描述winds.add(dataofday.getString("wind" + i, "未知"));// 六天风力描述fls.add(dataofday.getString("fl" + i, "未知"));}// 生活指数lifeV.add(dataofday.getString("index", "未知"));lifeV.add(dataofday.getString("index_d", "未知"));lifeV.add(dataofday.getString("index48", "未知"));lifeV.add(dataofday.getString("index48_d", "未知"));lifeV.add(dataofday.getString("index_uv", "未知"));lifeV.add(dataofday.getString("index48_uv", "未知"));lifeV.add("洗车指数:" + dataofday.getString("index_xc", "未知"));lifeV.add("旅游指数:" + dataofday.getString("index_tr", "未知"));lifeV.add("舒适指数:" + dataofday.getString("index_co", "未知"));lifeV.add("晨跑指数:" + dataofday.getString("index_cl", "未知"));lifeV.add("晾晒指数:" + dataofday.getString("index_ls", "未知"));lifeV.add("息斯敏过敏气象指数:"+ dataofday.getString("index_ag", "未知"))第四章系统测试在完成大部分代码以后我进行了测试,出现了好多问题,而且原家里网络很差,无法获得及时的帮助,自己以为是个别的人为错误,后来发现是中国天气网的api换了,而且官网打不开,所以致使软件一直无法完成。

相关文档
最新文档