Android 中文天气预报程序.docx
《Android 中文天气预报程序.docx》由会员分享,可在线阅读,更多相关《Android 中文天气预报程序.docx(13页珍藏版)》请在冰点文库上搜索。
Android中文天气预报程序
2010年09月13日星期一12:
47
大家好!
由于项目原因好长时间没学android了。
今天抽出点儿时间做个天气预报程序。
贴出来希望对大家有用。
先说一下Google天气预报的AIP吧。
我发现在模拟器上面返回的结果和在pc上返回的结果不太一样,pc上有中文的,android模拟器上没有的。
好了不说别的了。
开始吧!
nowstart。
1。
建立工程。
我取名sbsWeather。
结构如下:
下载(10.98KB)
2010-7-2817:
14
我们一步一步来,慢慢完善
2。
我习惯先写布局。
1.
2.
xmlversion="1.0"encoding="utf-8"?
>
3.android="4.android:orientation="vertical"5.android:layout_width="fill_parent"6.android:layout_height="fill_parent"7.>8.9.android:id="@+id/tvPlace"10.android:layout_width="fill_parent"11.android:layout_height="wrap_content"12./>13.14.android:id="@+id/place"15.android:layout_width="fill_parent"16.android:layout_height="wrap_content"17.android:hint="输入城市名称(汉字或者拼音)"18./>19.20.android:id="@+id/query"21.android:layout_width="fill_parent"22.android:layout_height="wrap_content"23.android:text="查询"24./>25.复制代码3。我们要做的是中文天气预报哦。可是Google为我们返回的是中文。再有我们得把用户输入的中文转换为拼音再传给Google才可以。现在,需要准备一些工具。编写中文拼音转换类,CntoEn.java。网上好多的。自己随便找一个就哦了。这个不贴代码了。搜Java中文转音频即可。Utils.java转换Google返回的英文。。。一对一的转换吧,好像没别的跟好的办法。另外其中还有个方法是将网络图片转换为android的bitmap对象的。1.2.packagecom.sbs.weather;3.importjava.io.IOException;4.importjava.io.InputStream;5.import.HttpURLConnection;6.import.MalformedURLException;7.import.URL;8.importandroid.graphics.Bitmap;9.importandroid.graphics.BitmapFactory;10.publicclassUtils{11.publicstaticStringweek(StringenWeek){12. if(enWeek.equals("Mon")||enWeek.equals("Monday"))13.return"星期一";14. elseif(enWeek.equals("Tue")||enWeek.equals("Tuesday"))15.return"星期二";16. elseif(enWeek.equals("Wed")||enWeek.equals("Wednesday"))17.return"星期三";18. elseif(enWeek.equals("Thu")||enWeek.equals("Thursday"))19.return"星期四";20. elseif(enWeek.equals("Fri")||enWeek.equals("Friday"))21.return"星期五";22. elseif(enWeek.equals("Sat")||enWeek.equals("Saturday"))23.return"星期六";24. elseif(enWeek.equals("Sun")||enWeek.equals("Sunday"))25.return"星期日";26. return"";27.}28.publicstaticStringweather(StringenWeather){29. if(enWeather.equals("Clear"))30.return"晴";31. elseif(enWeather.equals("PartlySunny")32.||enWeather.equals("partly_cloudy"))33.return"多云";34. elseif(enWeather.equals("ChanceofRain"))35.return"晴转雨";36. elseif(enWeather.equals("storm"))37.return"暴雨";38. elseif(enWeather.equals("thunderstorm"))39.return"雷阵雨";40. elseif(enWeather.equals("fog"))41.return"大雾";42. elseif(enWeather.equals("haze"))43.return"有雾";44. elseif(enWeather.equals("rain"))45.return"雨";46. elseif(enWeather.equals("heavyrain"))47.return"大雨";48. elseif(enWeather.equals("lightrain"))49.return"小雨";50. elseif(enWeather.equals("heavyrain"))51.return"大雨";52. elseif(enWeather.equals("snow"))53.return"有雪";54. ///还需要补充。。。。55. return"";56.}57.publicstaticBitmapreturnBitMap(StringimgUrl){58. URLmyImgUrl=null;59. Bitmapbitmap=null;60. try{61.myImgUrl=newURL(imgUrl);62. }catch(MalformedURLExceptione){63.e.printStackTrace();64. }65. try{66.HttpURLConnectionconn=(HttpURLConnection)myImgUrl67..openConnection();68.conn.setDoInput(true);69.conn.connect();70.InputStreamis=conn.getInputStream();71.bitmap=BitmapFactory.decodeStream(is);72.is.close();73. }catch(IOExceptione){74.e.printStackTrace();75. }76. returnbitmap;77.}78.}复制代码4。开始真正的工作咯。下面的程序通过Google提供的api来获取天气预报信息。1.packagecom.sbs.weather;2.3.importjava.io.InputStream;4.5.importjavax.xml.parsers.DocumentBuilder;6.importjavax.xml.parsers.DocumentBuilderFactory;7.8.importorg.apache.http.HttpEntity;9.importorg.apache.http.HttpResponse;10.importorg.apache.http.client.methods.HttpGet;11.importorg.apache.http.client.methods.HttpUriRequest;12.importorg.apache.http.impl.client.DefaultHttpClient;13.importorg.apache.http.util.EntityUtils;14.importorg.w3c.dom.Document;15.importorg.w3c.dom.NodeList;16.importorg.xml.sax.InputSource;17.18.importandroid.app.Activity;19.importandroid.graphics.Bitmap;20.importandroid.os.Bundle;21.importandroid.os.Handler;22.importandroid.os.Message;23.importandroid.util.Log;24.importandroid.view.View;25.importandroid.widget.Button;26.importandroid.widget.EditText;27.importandroid.widget.ImageView;28.importandroid.widget.TextView;29.30.publicclassWeatherextendsActivity{31.32.publicEditTextETplace;33.publicTextViewTvPlace;34.publicButtonquery;35.publicTextViewplaceName;36.publicImageViewimView;37.38./**Calledwhentheactivityisfirstcreated.*/39.@Override40.publicvoidonCreate(BundlesavedInstanceState){41.super.onCreate(savedInstanceState);42.setContentView(R.layout.main);43.44.ETplace=(EditText)findViewById(R.id.place);45.query=(Button)findViewById(R.id.query);46.imView=(ImageView)findViewById(R.id.myImageView);47.placeName=(TextView)findViewById(R.id.placeName);48.49.query.setOnClickListener(newButton.OnClickListener(){50.publicvoidonClick(Viewv){51.try{52.TvPlace=(TextView)findViewById(R.id.tvPlace);53.54.Stringplace=CntoEn.getFullSpell(ETplace.getText().toString());55.placeName.setText(place);56.Stringweather="";57.Stringurl="58.DefaultHttpClientclient=newDefaultHttpClient();59.HttpUriRequestreq=newHttpGet(url);60.HttpResponseresp=client.execute(req);61.62.//StringstrResult=EntityUtils.toString(resp.getEntity());63.//Log.i("weather->",strResult);64.//一华氏度等于9/5摄氏度数值+3265.66.HttpEntityent=resp.getEntity();67.InputStreamstream=ent.getContent();68.69.DocumentBuilderb=DocumentBuilderFactory.newInstance()70..newDocumentBuilder();71.Documentd=b.parse(newInputSource(stream));72.NodeListn=d.getElementsByTagName("forecast_conditions");73.74.//获得图片url当天的。75.StringimgUrl="";76.imgUrl+=n.item(0).getChildNodes().item(3).getAttributes().item(0).getNodeValue();77.imView.setImageBitmap(Utils.returnBitMap(imgUrl));78.79.//今后4天预报80.for(inti=0;i81.weather+=Utils.week(n.item(i).getChildNodes().item(0)82..getAttributes().item(0).getNodeValue());83.weather+=",";84.weather+=(Integer85..parseInt(n.item(i).getChildNodes().item(1)86..getAttributes().item(0).getNodeValue())-32)*5/9;87.weather+="~";88.weather+=(Integer89..parseInt(n.item(i).getChildNodes().item(2)90..getAttributes().item(0).getNodeValue())-32)*5/9;91.weather+=",";92.weather+=Utils.weather(n.item(i).getChildNodes().item(4)93..getAttributes().item(0).getNodeValue());94.weather+="\n";95.}96.Log.i("parseedweather->",weather);97.TvPlace.setText(weather);98.99.}catch(Exceptione){100.e.printStackTrace();101.}102.103.}});104.}105.}复制代码5。嗯这一步相当重要,就是添加权限。要是没有权限一切白搭!1.xmlversion="1.0"encoding="utf-8"?>2.android="3.package="com.sbs.weather"4.android:versionCode="1"5.android:versionName="1.0">6.name="android.permission.INTERNET">7.icon="@drawable/icon"android:label="@string/app_name">8.name=".Weather"9.android:label="@string/app_name">10.11.name="android.intent.action.MAIN"/>12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
android="
4.android:
orientation="vertical"
5.android:
layout_width="fill_parent"
6.android:
layout_height="fill_parent"
7.>
8.9.android:id="@+id/tvPlace"10.android:layout_width="fill_parent"11.android:layout_height="wrap_content"12./>13.14.android:id="@+id/place"15.android:layout_width="fill_parent"16.android:layout_height="wrap_content"17.android:hint="输入城市名称(汉字或者拼音)"18./>19.20.android:id="@+id/query"21.android:layout_width="fill_parent"22.android:layout_height="wrap_content"23.android:text="查询"24./>25.复制代码3。我们要做的是中文天气预报哦。可是Google为我们返回的是中文。再有我们得把用户输入的中文转换为拼音再传给Google才可以。现在,需要准备一些工具。编写中文拼音转换类,CntoEn.java。网上好多的。自己随便找一个就哦了。这个不贴代码了。搜Java中文转音频即可。Utils.java转换Google返回的英文。。。一对一的转换吧,好像没别的跟好的办法。另外其中还有个方法是将网络图片转换为android的bitmap对象的。1.2.packagecom.sbs.weather;3.importjava.io.IOException;4.importjava.io.InputStream;5.import.HttpURLConnection;6.import.MalformedURLException;7.import.URL;8.importandroid.graphics.Bitmap;9.importandroid.graphics.BitmapFactory;10.publicclassUtils{11.publicstaticStringweek(StringenWeek){12. if(enWeek.equals("Mon")||enWeek.equals("Monday"))13.return"星期一";14. elseif(enWeek.equals("Tue")||enWeek.equals("Tuesday"))15.return"星期二";16. elseif(enWeek.equals("Wed")||enWeek.equals("Wednesday"))17.return"星期三";18. elseif(enWeek.equals("Thu")||enWeek.equals("Thursday"))19.return"星期四";20. elseif(enWeek.equals("Fri")||enWeek.equals("Friday"))21.return"星期五";22. elseif(enWeek.equals("Sat")||enWeek.equals("Saturday"))23.return"星期六";24. elseif(enWeek.equals("Sun")||enWeek.equals("Sunday"))25.return"星期日";26. return"";27.}28.publicstaticStringweather(StringenWeather){29. if(enWeather.equals("Clear"))30.return"晴";31. elseif(enWeather.equals("PartlySunny")32.||enWeather.equals("partly_cloudy"))33.return"多云";34. elseif(enWeather.equals("ChanceofRain"))35.return"晴转雨";36. elseif(enWeather.equals("storm"))37.return"暴雨";38. elseif(enWeather.equals("thunderstorm"))39.return"雷阵雨";40. elseif(enWeather.equals("fog"))41.return"大雾";42. elseif(enWeather.equals("haze"))43.return"有雾";44. elseif(enWeather.equals("rain"))45.return"雨";46. elseif(enWeather.equals("heavyrain"))47.return"大雨";48. elseif(enWeather.equals("lightrain"))49.return"小雨";50. elseif(enWeather.equals("heavyrain"))51.return"大雨";52. elseif(enWeather.equals("snow"))53.return"有雪";54. ///还需要补充。。。。55. return"";56.}57.publicstaticBitmapreturnBitMap(StringimgUrl){58. URLmyImgUrl=null;59. Bitmapbitmap=null;60. try{61.myImgUrl=newURL(imgUrl);62. }catch(MalformedURLExceptione){63.e.printStackTrace();64. }65. try{66.HttpURLConnectionconn=(HttpURLConnection)myImgUrl67..openConnection();68.conn.setDoInput(true);69.conn.connect();70.InputStreamis=conn.getInputStream();71.bitmap=BitmapFactory.decodeStream(is);72.is.close();73. }catch(IOExceptione){74.e.printStackTrace();75. }76. returnbitmap;77.}78.}复制代码4。开始真正的工作咯。下面的程序通过Google提供的api来获取天气预报信息。1.packagecom.sbs.weather;2.3.importjava.io.InputStream;4.5.importjavax.xml.parsers.DocumentBuilder;6.importjavax.xml.parsers.DocumentBuilderFactory;7.8.importorg.apache.http.HttpEntity;9.importorg.apache.http.HttpResponse;10.importorg.apache.http.client.methods.HttpGet;11.importorg.apache.http.client.methods.HttpUriRequest;12.importorg.apache.http.impl.client.DefaultHttpClient;13.importorg.apache.http.util.EntityUtils;14.importorg.w3c.dom.Document;15.importorg.w3c.dom.NodeList;16.importorg.xml.sax.InputSource;17.18.importandroid.app.Activity;19.importandroid.graphics.Bitmap;20.importandroid.os.Bundle;21.importandroid.os.Handler;22.importandroid.os.Message;23.importandroid.util.Log;24.importandroid.view.View;25.importandroid.widget.Button;26.importandroid.widget.EditText;27.importandroid.widget.ImageView;28.importandroid.widget.TextView;29.30.publicclassWeatherextendsActivity{31.32.publicEditTextETplace;33.publicTextViewTvPlace;34.publicButtonquery;35.publicTextViewplaceName;36.publicImageViewimView;37.38./**Calledwhentheactivityisfirstcreated.*/39.@Override40.publicvoidonCreate(BundlesavedInstanceState){41.super.onCreate(savedInstanceState);42.setContentView(R.layout.main);43.44.ETplace=(EditText)findViewById(R.id.place);45.query=(Button)findViewById(R.id.query);46.imView=(ImageView)findViewById(R.id.myImageView);47.placeName=(TextView)findViewById(R.id.placeName);48.49.query.setOnClickListener(newButton.OnClickListener(){50.publicvoidonClick(Viewv){51.try{52.TvPlace=(TextView)findViewById(R.id.tvPlace);53.54.Stringplace=CntoEn.getFullSpell(ETplace.getText().toString());55.placeName.setText(place);56.Stringweather="";57.Stringurl="58.DefaultHttpClientclient=newDefaultHttpClient();59.HttpUriRequestreq=newHttpGet(url);60.HttpResponseresp=client.execute(req);61.62.//StringstrResult=EntityUtils.toString(resp.getEntity());63.//Log.i("weather->",strResult);64.//一华氏度等于9/5摄氏度数值+3265.66.HttpEntityent=resp.getEntity();67.InputStreamstream=ent.getContent();68.69.DocumentBuilderb=DocumentBuilderFactory.newInstance()70..newDocumentBuilder();71.Documentd=b.parse(newInputSource(stream));72.NodeListn=d.getElementsByTagName("forecast_conditions");73.74.//获得图片url当天的。75.StringimgUrl="";76.imgUrl+=n.item(0).getChildNodes().item(3).getAttributes().item(0).getNodeValue();77.imView.setImageBitmap(Utils.returnBitMap(imgUrl));78.79.//今后4天预报80.for(inti=0;i81.weather+=Utils.week(n.item(i).getChildNodes().item(0)82..getAttributes().item(0).getNodeValue());83.weather+=",";84.weather+=(Integer85..parseInt(n.item(i).getChildNodes().item(1)86..getAttributes().item(0).getNodeValue())-32)*5/9;87.weather+="~";88.weather+=(Integer89..parseInt(n.item(i).getChildNodes().item(2)90..getAttributes().item(0).getNodeValue())-32)*5/9;91.weather+=",";92.weather+=Utils.weather(n.item(i).getChildNodes().item(4)93..getAttributes().item(0).getNodeValue());94.weather+="\n";95.}96.Log.i("parseedweather->",weather);97.TvPlace.setText(weather);98.99.}catch(Exceptione){100.e.printStackTrace();101.}102.103.}});104.}105.}复制代码5。嗯这一步相当重要,就是添加权限。要是没有权限一切白搭!1.xmlversion="1.0"encoding="utf-8"?>2.android="3.package="com.sbs.weather"4.android:versionCode="1"5.android:versionName="1.0">6.name="android.permission.INTERNET">7.icon="@drawable/icon"android:label="@string/app_name">8.name=".Weather"9.android:label="@string/app_name">10.11.name="android.intent.action.MAIN"/>12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
9.android:
id="@+id/tvPlace"
10.android:
11.android:
layout_height="wrap_content"
12./>
13.14.android:id="@+id/place"15.android:layout_width="fill_parent"16.android:layout_height="wrap_content"17.android:hint="输入城市名称(汉字或者拼音)"18./>19.20.android:id="@+id/query"21.android:layout_width="fill_parent"22.android:layout_height="wrap_content"23.android:text="查询"24./>25.复制代码3。我们要做的是中文天气预报哦。可是Google为我们返回的是中文。再有我们得把用户输入的中文转换为拼音再传给Google才可以。现在,需要准备一些工具。编写中文拼音转换类,CntoEn.java。网上好多的。自己随便找一个就哦了。这个不贴代码了。搜Java中文转音频即可。Utils.java转换Google返回的英文。。。一对一的转换吧,好像没别的跟好的办法。另外其中还有个方法是将网络图片转换为android的bitmap对象的。1.2.packagecom.sbs.weather;3.importjava.io.IOException;4.importjava.io.InputStream;5.import.HttpURLConnection;6.import.MalformedURLException;7.import.URL;8.importandroid.graphics.Bitmap;9.importandroid.graphics.BitmapFactory;10.publicclassUtils{11.publicstaticStringweek(StringenWeek){12. if(enWeek.equals("Mon")||enWeek.equals("Monday"))13.return"星期一";14. elseif(enWeek.equals("Tue")||enWeek.equals("Tuesday"))15.return"星期二";16. elseif(enWeek.equals("Wed")||enWeek.equals("Wednesday"))17.return"星期三";18. elseif(enWeek.equals("Thu")||enWeek.equals("Thursday"))19.return"星期四";20. elseif(enWeek.equals("Fri")||enWeek.equals("Friday"))21.return"星期五";22. elseif(enWeek.equals("Sat")||enWeek.equals("Saturday"))23.return"星期六";24. elseif(enWeek.equals("Sun")||enWeek.equals("Sunday"))25.return"星期日";26. return"";27.}28.publicstaticStringweather(StringenWeather){29. if(enWeather.equals("Clear"))30.return"晴";31. elseif(enWeather.equals("PartlySunny")32.||enWeather.equals("partly_cloudy"))33.return"多云";34. elseif(enWeather.equals("ChanceofRain"))35.return"晴转雨";36. elseif(enWeather.equals("storm"))37.return"暴雨";38. elseif(enWeather.equals("thunderstorm"))39.return"雷阵雨";40. elseif(enWeather.equals("fog"))41.return"大雾";42. elseif(enWeather.equals("haze"))43.return"有雾";44. elseif(enWeather.equals("rain"))45.return"雨";46. elseif(enWeather.equals("heavyrain"))47.return"大雨";48. elseif(enWeather.equals("lightrain"))49.return"小雨";50. elseif(enWeather.equals("heavyrain"))51.return"大雨";52. elseif(enWeather.equals("snow"))53.return"有雪";54. ///还需要补充。。。。55. return"";56.}57.publicstaticBitmapreturnBitMap(StringimgUrl){58. URLmyImgUrl=null;59. Bitmapbitmap=null;60. try{61.myImgUrl=newURL(imgUrl);62. }catch(MalformedURLExceptione){63.e.printStackTrace();64. }65. try{66.HttpURLConnectionconn=(HttpURLConnection)myImgUrl67..openConnection();68.conn.setDoInput(true);69.conn.connect();70.InputStreamis=conn.getInputStream();71.bitmap=BitmapFactory.decodeStream(is);72.is.close();73. }catch(IOExceptione){74.e.printStackTrace();75. }76. returnbitmap;77.}78.}复制代码4。开始真正的工作咯。下面的程序通过Google提供的api来获取天气预报信息。1.packagecom.sbs.weather;2.3.importjava.io.InputStream;4.5.importjavax.xml.parsers.DocumentBuilder;6.importjavax.xml.parsers.DocumentBuilderFactory;7.8.importorg.apache.http.HttpEntity;9.importorg.apache.http.HttpResponse;10.importorg.apache.http.client.methods.HttpGet;11.importorg.apache.http.client.methods.HttpUriRequest;12.importorg.apache.http.impl.client.DefaultHttpClient;13.importorg.apache.http.util.EntityUtils;14.importorg.w3c.dom.Document;15.importorg.w3c.dom.NodeList;16.importorg.xml.sax.InputSource;17.18.importandroid.app.Activity;19.importandroid.graphics.Bitmap;20.importandroid.os.Bundle;21.importandroid.os.Handler;22.importandroid.os.Message;23.importandroid.util.Log;24.importandroid.view.View;25.importandroid.widget.Button;26.importandroid.widget.EditText;27.importandroid.widget.ImageView;28.importandroid.widget.TextView;29.30.publicclassWeatherextendsActivity{31.32.publicEditTextETplace;33.publicTextViewTvPlace;34.publicButtonquery;35.publicTextViewplaceName;36.publicImageViewimView;37.38./**Calledwhentheactivityisfirstcreated.*/39.@Override40.publicvoidonCreate(BundlesavedInstanceState){41.super.onCreate(savedInstanceState);42.setContentView(R.layout.main);43.44.ETplace=(EditText)findViewById(R.id.place);45.query=(Button)findViewById(R.id.query);46.imView=(ImageView)findViewById(R.id.myImageView);47.placeName=(TextView)findViewById(R.id.placeName);48.49.query.setOnClickListener(newButton.OnClickListener(){50.publicvoidonClick(Viewv){51.try{52.TvPlace=(TextView)findViewById(R.id.tvPlace);53.54.Stringplace=CntoEn.getFullSpell(ETplace.getText().toString());55.placeName.setText(place);56.Stringweather="";57.Stringurl="58.DefaultHttpClientclient=newDefaultHttpClient();59.HttpUriRequestreq=newHttpGet(url);60.HttpResponseresp=client.execute(req);61.62.//StringstrResult=EntityUtils.toString(resp.getEntity());63.//Log.i("weather->",strResult);64.//一华氏度等于9/5摄氏度数值+3265.66.HttpEntityent=resp.getEntity();67.InputStreamstream=ent.getContent();68.69.DocumentBuilderb=DocumentBuilderFactory.newInstance()70..newDocumentBuilder();71.Documentd=b.parse(newInputSource(stream));72.NodeListn=d.getElementsByTagName("forecast_conditions");73.74.//获得图片url当天的。75.StringimgUrl="";76.imgUrl+=n.item(0).getChildNodes().item(3).getAttributes().item(0).getNodeValue();77.imView.setImageBitmap(Utils.returnBitMap(imgUrl));78.79.//今后4天预报80.for(inti=0;i81.weather+=Utils.week(n.item(i).getChildNodes().item(0)82..getAttributes().item(0).getNodeValue());83.weather+=",";84.weather+=(Integer85..parseInt(n.item(i).getChildNodes().item(1)86..getAttributes().item(0).getNodeValue())-32)*5/9;87.weather+="~";88.weather+=(Integer89..parseInt(n.item(i).getChildNodes().item(2)90..getAttributes().item(0).getNodeValue())-32)*5/9;91.weather+=",";92.weather+=Utils.weather(n.item(i).getChildNodes().item(4)93..getAttributes().item(0).getNodeValue());94.weather+="\n";95.}96.Log.i("parseedweather->",weather);97.TvPlace.setText(weather);98.99.}catch(Exceptione){100.e.printStackTrace();101.}102.103.}});104.}105.}复制代码5。嗯这一步相当重要,就是添加权限。要是没有权限一切白搭!1.xmlversion="1.0"encoding="utf-8"?>2.android="3.package="com.sbs.weather"4.android:versionCode="1"5.android:versionName="1.0">6.name="android.permission.INTERNET">7.icon="@drawable/icon"android:label="@string/app_name">8.name=".Weather"9.android:label="@string/app_name">10.11.name="android.intent.action.MAIN"/>12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
14.android:
id="@+id/place"
15.android:
16.android:
17.android:
hint="输入城市名称(汉字或者拼音)"
18./>
19.20.android:id="@+id/query"21.android:layout_width="fill_parent"22.android:layout_height="wrap_content"23.android:text="查询"24./>25.复制代码3。我们要做的是中文天气预报哦。可是Google为我们返回的是中文。再有我们得把用户输入的中文转换为拼音再传给Google才可以。现在,需要准备一些工具。编写中文拼音转换类,CntoEn.java。网上好多的。自己随便找一个就哦了。这个不贴代码了。搜Java中文转音频即可。Utils.java转换Google返回的英文。。。一对一的转换吧,好像没别的跟好的办法。另外其中还有个方法是将网络图片转换为android的bitmap对象的。1.2.packagecom.sbs.weather;3.importjava.io.IOException;4.importjava.io.InputStream;5.import.HttpURLConnection;6.import.MalformedURLException;7.import.URL;8.importandroid.graphics.Bitmap;9.importandroid.graphics.BitmapFactory;10.publicclassUtils{11.publicstaticStringweek(StringenWeek){12. if(enWeek.equals("Mon")||enWeek.equals("Monday"))13.return"星期一";14. elseif(enWeek.equals("Tue")||enWeek.equals("Tuesday"))15.return"星期二";16. elseif(enWeek.equals("Wed")||enWeek.equals("Wednesday"))17.return"星期三";18. elseif(enWeek.equals("Thu")||enWeek.equals("Thursday"))19.return"星期四";20. elseif(enWeek.equals("Fri")||enWeek.equals("Friday"))21.return"星期五";22. elseif(enWeek.equals("Sat")||enWeek.equals("Saturday"))23.return"星期六";24. elseif(enWeek.equals("Sun")||enWeek.equals("Sunday"))25.return"星期日";26. return"";27.}28.publicstaticStringweather(StringenWeather){29. if(enWeather.equals("Clear"))30.return"晴";31. elseif(enWeather.equals("PartlySunny")32.||enWeather.equals("partly_cloudy"))33.return"多云";34. elseif(enWeather.equals("ChanceofRain"))35.return"晴转雨";36. elseif(enWeather.equals("storm"))37.return"暴雨";38. elseif(enWeather.equals("thunderstorm"))39.return"雷阵雨";40. elseif(enWeather.equals("fog"))41.return"大雾";42. elseif(enWeather.equals("haze"))43.return"有雾";44. elseif(enWeather.equals("rain"))45.return"雨";46. elseif(enWeather.equals("heavyrain"))47.return"大雨";48. elseif(enWeather.equals("lightrain"))49.return"小雨";50. elseif(enWeather.equals("heavyrain"))51.return"大雨";52. elseif(enWeather.equals("snow"))53.return"有雪";54. ///还需要补充。。。。55. return"";56.}57.publicstaticBitmapreturnBitMap(StringimgUrl){58. URLmyImgUrl=null;59. Bitmapbitmap=null;60. try{61.myImgUrl=newURL(imgUrl);62. }catch(MalformedURLExceptione){63.e.printStackTrace();64. }65. try{66.HttpURLConnectionconn=(HttpURLConnection)myImgUrl67..openConnection();68.conn.setDoInput(true);69.conn.connect();70.InputStreamis=conn.getInputStream();71.bitmap=BitmapFactory.decodeStream(is);72.is.close();73. }catch(IOExceptione){74.e.printStackTrace();75. }76. returnbitmap;77.}78.}复制代码4。开始真正的工作咯。下面的程序通过Google提供的api来获取天气预报信息。1.packagecom.sbs.weather;2.3.importjava.io.InputStream;4.5.importjavax.xml.parsers.DocumentBuilder;6.importjavax.xml.parsers.DocumentBuilderFactory;7.8.importorg.apache.http.HttpEntity;9.importorg.apache.http.HttpResponse;10.importorg.apache.http.client.methods.HttpGet;11.importorg.apache.http.client.methods.HttpUriRequest;12.importorg.apache.http.impl.client.DefaultHttpClient;13.importorg.apache.http.util.EntityUtils;14.importorg.w3c.dom.Document;15.importorg.w3c.dom.NodeList;16.importorg.xml.sax.InputSource;17.18.importandroid.app.Activity;19.importandroid.graphics.Bitmap;20.importandroid.os.Bundle;21.importandroid.os.Handler;22.importandroid.os.Message;23.importandroid.util.Log;24.importandroid.view.View;25.importandroid.widget.Button;26.importandroid.widget.EditText;27.importandroid.widget.ImageView;28.importandroid.widget.TextView;29.30.publicclassWeatherextendsActivity{31.32.publicEditTextETplace;33.publicTextViewTvPlace;34.publicButtonquery;35.publicTextViewplaceName;36.publicImageViewimView;37.38./**Calledwhentheactivityisfirstcreated.*/39.@Override40.publicvoidonCreate(BundlesavedInstanceState){41.super.onCreate(savedInstanceState);42.setContentView(R.layout.main);43.44.ETplace=(EditText)findViewById(R.id.place);45.query=(Button)findViewById(R.id.query);46.imView=(ImageView)findViewById(R.id.myImageView);47.placeName=(TextView)findViewById(R.id.placeName);48.49.query.setOnClickListener(newButton.OnClickListener(){50.publicvoidonClick(Viewv){51.try{52.TvPlace=(TextView)findViewById(R.id.tvPlace);53.54.Stringplace=CntoEn.getFullSpell(ETplace.getText().toString());55.placeName.setText(place);56.Stringweather="";57.Stringurl="58.DefaultHttpClientclient=newDefaultHttpClient();59.HttpUriRequestreq=newHttpGet(url);60.HttpResponseresp=client.execute(req);61.62.//StringstrResult=EntityUtils.toString(resp.getEntity());63.//Log.i("weather->",strResult);64.//一华氏度等于9/5摄氏度数值+3265.66.HttpEntityent=resp.getEntity();67.InputStreamstream=ent.getContent();68.69.DocumentBuilderb=DocumentBuilderFactory.newInstance()70..newDocumentBuilder();71.Documentd=b.parse(newInputSource(stream));72.NodeListn=d.getElementsByTagName("forecast_conditions");73.74.//获得图片url当天的。75.StringimgUrl="";76.imgUrl+=n.item(0).getChildNodes().item(3).getAttributes().item(0).getNodeValue();77.imView.setImageBitmap(Utils.returnBitMap(imgUrl));78.79.//今后4天预报80.for(inti=0;i81.weather+=Utils.week(n.item(i).getChildNodes().item(0)82..getAttributes().item(0).getNodeValue());83.weather+=",";84.weather+=(Integer85..parseInt(n.item(i).getChildNodes().item(1)86..getAttributes().item(0).getNodeValue())-32)*5/9;87.weather+="~";88.weather+=(Integer89..parseInt(n.item(i).getChildNodes().item(2)90..getAttributes().item(0).getNodeValue())-32)*5/9;91.weather+=",";92.weather+=Utils.weather(n.item(i).getChildNodes().item(4)93..getAttributes().item(0).getNodeValue());94.weather+="\n";95.}96.Log.i("parseedweather->",weather);97.TvPlace.setText(weather);98.99.}catch(Exceptione){100.e.printStackTrace();101.}102.103.}});104.}105.}复制代码5。嗯这一步相当重要,就是添加权限。要是没有权限一切白搭!1.xmlversion="1.0"encoding="utf-8"?>2.android="3.package="com.sbs.weather"4.android:versionCode="1"5.android:versionName="1.0">6.name="android.permission.INTERNET">7.icon="@drawable/icon"android:label="@string/app_name">8.name=".Weather"9.android:label="@string/app_name">10.11.name="android.intent.action.MAIN"/>12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
20.android:
id="@+id/query"
21.android:
22.android:
23.android:
text="查询"
24./>
25.
复制代码
3。
我们要做的是中文天气预报哦。
可是Google为我们返回的是中文。
再有我们得把用户输入的中文转换为拼音再传给Google才可以。
现在,需要准备一些工具。
编写中文拼音转换类,CntoEn.java。
网上好多的。
自己随便找一个就哦了。
这个不贴代码了。
搜Java中文转音频即可。
Utils.java转换Google返回的英文。
。
一对一的转换吧,好像没别的跟好的办法。
另外其中还有个方法是将网络图片转换为android的bitmap对象的。
2.packagecom.sbs.weather;
3.importjava.io.IOException;
4.importjava.io.InputStream;
5.import.HttpURLConnection;
6.import.MalformedURLException;
7.import.URL;
8.importandroid.graphics.Bitmap;
9.importandroid.graphics.BitmapFactory;
10.publicclassUtils{
11.publicstaticStringweek(StringenWeek){
12. if(enWeek.equals("Mon")||enWeek.equals("Monday"))
13.return"星期一";
14. elseif(enWeek.equals("Tue")||enWeek.equals("Tuesday"))
15.return"星期二";
16. elseif(enWeek.equals("Wed")||enWeek.equals("Wednesday"))
17.return"星期三";
18. elseif(enWeek.equals("Thu")||enWeek.equals("Thursday"))
19.return"星期四";
20. elseif(enWeek.equals("Fri")||enWeek.equals("Friday"))
21.return"星期五";
22. elseif(enWeek.equals("Sat")||enWeek.equals("Saturday"))
23.return"星期六";
24. elseif(enWeek.equals("Sun")||enWeek.equals("Sunday"))
25.return"星期日";
26. return"";
27.}
28.publicstaticStringweather(StringenWeather){
29. if(enWeather.equals("Clear"))
30.return"晴";
31. elseif(enWeather.equals("PartlySunny")
32.||enWeather.equals("partly_cloudy"))
33.return"多云";
34. elseif(enWeather.equals("ChanceofRain"))
35.return"晴转雨";
36. elseif(enWeather.equals("storm"))
37.return"暴雨";
38. elseif(enWeather.equals("thunderstorm"))
39.return"雷阵雨";
40. elseif(enWeather.equals("fog"))
41.return"大雾";
42. elseif(enWeather.equals("haze"))
43.return"有雾";
44. elseif(enWeather.equals("rain"))
45.return"雨";
46. elseif(enWeather.equals("heavyrain"))
47.return"大雨";
48. elseif(enWeather.equals("lightrain"))
49.return"小雨";
50. elseif(enWeather.equals("heavyrain"))
51.return"大雨";
52. elseif(enWeather.equals("snow"))
53.return"有雪";
54. ///还需要补充。
55. return"";
56.}
57.publicstaticBitmapreturnBitMap(StringimgUrl){
58. URLmyImgUrl=null;
59. Bitmapbitmap=null;
60. try{
61.myImgUrl=newURL(imgUrl);
62. }catch(MalformedURLExceptione){
63.e.printStackTrace();
64. }
65. try{
66.HttpURLConnectionconn=(HttpURLConnection)myImgUrl
67..openConnection();
68.conn.setDoInput(true);
69.conn.connect();
70.InputStreamis=conn.getInputStream();
71.bitmap=BitmapFactory.decodeStream(is);
72.is.close();
73. }catch(IOExceptione){
74.e.printStackTrace();
75. }
76. returnbitmap;
77.}
78.}
4。
开始真正的工作咯。
下面的程序通过Google提供的api来获取天气预报信息。
1.packagecom.sbs.weather;
3.importjava.io.InputStream;
4.
5.importjavax.xml.parsers.DocumentBuilder;
6.importjavax.xml.parsers.DocumentBuilderFactory;
7.
8.importorg.apache.http.HttpEntity;
9.importorg.apache.http.HttpResponse;
10.importorg.apache.http.client.methods.HttpGet;
11.importorg.apache.http.client.methods.HttpUriRequest;
12.importorg.apache.http.impl.client.DefaultHttpClient;
13.importorg.apache.http.util.EntityUtils;
14.importorg.w3c.dom.Document;
15.importorg.w3c.dom.NodeList;
16.importorg.xml.sax.InputSource;
17.
18.importandroid.app.Activity;
19.importandroid.graphics.Bitmap;
20.importandroid.os.Bundle;
21.importandroid.os.Handler;
22.importandroid.os.Message;
23.importandroid.util.Log;
24.importandroid.view.View;
25.importandroid.widget.Button;
26.importandroid.widget.EditText;
27.importandroid.widget.ImageView;
28.importandroid.widget.TextView;
29.
30.publicclassWeatherextendsActivity{
31.
32.publicEditTextETplace;
33.publicTextViewTvPlace;
34.publicButtonquery;
35.publicTextViewplaceName;
36.publicImageViewimView;
37.
38./**Calledwhentheactivityisfirstcreated.*/
39.@Override
40.publicvoidonCreate(BundlesavedInstanceState){
41.super.onCreate(savedInstanceState);
42.setContentView(R.layout.main);
43.
44.ETplace=(EditText)findViewById(R.id.place);
45.query=(Button)findViewById(R.id.query);
46.imView=(ImageView)findViewById(R.id.myImageView);
47.placeName=(TextView)findViewById(R.id.placeName);
48.
49.query.setOnClickListener(newButton.OnClickListener(){
50.publicvoidonClick(Viewv){
51.try{
52.TvPlace=(TextView)findViewById(R.id.tvPlace);
53.
54.Stringplace=CntoEn.getFullSpell(ETplace.getText().toString());
55.placeName.setText(place);
56.Stringweather="";
57.Stringurl="
58.DefaultHttpClientclient=newDefaultHttpClient();
59.HttpUriRequestreq=newHttpGet(url);
60.HttpResponseresp=client.execute(req);
61.
62.//StringstrResult=EntityUtils.toString(resp.getEntity());
63.//Log.i("weather->",strResult);
64.//一华氏度等于9/5摄氏度数值+32
65.
66.HttpEntityent=resp.getEntity();
67.InputStreamstream=ent.getContent();
68.
69.DocumentBuilderb=DocumentBuilderFactory.newInstance()
70..newDocumentBuilder();
71.Documentd=b.parse(newInputSource(stream));
72.NodeListn=d.getElementsByTagName("forecast_conditions");
73.
74.//获得图片url当天的。
75.StringimgUrl="";
76.imgUrl+=n.item(0).getChildNodes().item(3).getAttributes().item(0).getNodeValue();
77.imView.setImageBitmap(Utils.returnBitMap(imgUrl));
78.
79.//今后4天预报
80.for(inti=0;i81.weather+=Utils.week(n.item(i).getChildNodes().item(0)82..getAttributes().item(0).getNodeValue());83.weather+=",";84.weather+=(Integer85..parseInt(n.item(i).getChildNodes().item(1)86..getAttributes().item(0).getNodeValue())-32)*5/9;87.weather+="~";88.weather+=(Integer89..parseInt(n.item(i).getChildNodes().item(2)90..getAttributes().item(0).getNodeValue())-32)*5/9;91.weather+=",";92.weather+=Utils.weather(n.item(i).getChildNodes().item(4)93..getAttributes().item(0).getNodeValue());94.weather+="\n";95.}96.Log.i("parseedweather->",weather);97.TvPlace.setText(weather);98.99.}catch(Exceptione){100.e.printStackTrace();101.}102.103.}});104.}105.}复制代码5。嗯这一步相当重要,就是添加权限。要是没有权限一切白搭!1.xmlversion="1.0"encoding="utf-8"?>2.android="3.package="com.sbs.weather"4.android:versionCode="1"5.android:versionName="1.0">6.name="android.permission.INTERNET">7.icon="@drawable/icon"android:label="@string/app_name">8.name=".Weather"9.android:label="@string/app_name">10.11.name="android.intent.action.MAIN"/>12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
81.weather+=Utils.week(n.item(i).getChildNodes().item(0)
82..getAttributes().item(0).getNodeValue());
83.weather+=",";
84.weather+=(Integer
85..parseInt(n.item(i).getChildNodes().item
(1)
86..getAttributes().item(0).getNodeValue())-32)*5/9;
87.weather+="~";
88.weather+=(Integer
89..parseInt(n.item(i).getChildNodes().item
(2)
90..getAttributes().item(0).getNodeValue())-32)*5/9;
91.weather+=",";
92.weather+=Utils.weather(n.item(i).getChildNodes().item(4)
93..getAttributes().item(0).getNodeValue());
94.weather+="\n";
95.}
96.Log.i("parseedweather->",weather);
97.TvPlace.setText(weather);
98.
99.}catch(Exceptione){
100.e.printStackTrace();
101.}
102.
103.}});
104.}
105.}
5。
嗯这一步相当重要,就是添加权限。
要是没有权限一切白搭!
2.android="3.package="com.sbs.weather"4.android:versionCode="1"5.android:versionName="1.0">6.name="android.permission.INTERNET">7.icon="@drawable/icon"android:label="@string/app_name">8.name=".Weather"9.android:label="@string/app_name">10.11.name="android.intent.action.MAIN"/>12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
3.package="com.sbs.weather"
versionCode="1"
versionName="1.0">
6.name="android.permission.INTERNET">7.icon="@drawable/icon"android:label="@string/app_name">8.name=".Weather"9.android:label="@string/app_name">10.11.name="android.intent.action.MAIN"/>12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
name="android.permission.INTERNET">
7.icon="@drawable/icon"android:label="@string/app_name">8.name=".Weather"9.android:label="@string/app_name">10.11.name="android.intent.action.MAIN"/>12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
icon="@drawable/icon"android:
label="@string/app_name">
8.name=".Weather"9.android:label="@string/app_name">10.11.name="android.intent.action.MAIN"/>12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
name=".Weather"
10.
11.name="android.intent.action.MAIN"/>12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
name="android.intent.action.MAIN"/>
12.name="android.intent.category.LAUNCHER"/>13.14.15.16.17.复制代码6。开始运行咯。下载(125.66KB)2010-7-2817:29下载(33.53KB)2010-7-2817:29 源码在这里:sbsWeather.rar(64.82KB)下载次数:942010-7-2817:27下载消耗e币1元喜欢的下载吧。。。嗯呢,我是好人! 7。总结:可以使用数据库,保存用户常用的设置。比如存5个城市等。还可以加上触屏拖动切换城市的效果这样子就比较完美了。当然为了节省流量完全可以使用本地图片而不用网络图片。总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。02.png(128.52KB)下载次数:12010-7-2817:29
name="android.intent.category.LAUNCHER"/>
13.
14.
15.
16.
6。
开始运行咯。
下载(125.66KB)
29
下载(33.53KB)
源码在这里:
sbsWeather.rar(64.82KB)
下载次数:
94
27
下载消耗e币1元
喜欢的下载吧。
嗯呢,我是好人!
7。
总结:
可以使用数据库,保存用户常用的设置。
比如存5个城市等。
还可以加上触屏拖动切换城市的效果这样子就比较完美了。
当然为了节省流量完全可以使用本地图片而不用网络图片。
总之希望各位朋友,尤其是大牛们,提出建议,帮着完善。
02.png(128.52KB)
1
下载文档到电脑,查找使用更方便
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2