Android 天气预报简介
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android 谷歌天气预报
该项目是东方标准广州java培训中心为java技术开发学习人员和android技术开发班的学员共同开发研制的一款生活助手软件《谷歌天气预报》。项目来自于日常生活中天气预报新闻。由于人们日益紧凑的生活节奏,对于天气的关注不如以前那么重要,所以为了节省人们的业余时间,直接将天气预报功能搬入了手机软件功能当中,方便人们阅读浏览当地天气情况,并适当做出生活调整。
该项目技术要点为:推送功能+后台服务设计Service+联网功能HTTP+xml解析器XmlPullParser等技术。
一.项目介绍
《谷歌天气预报》是一款简单的天气预报定制软件。界面简洁易懂,方便用户使用。可以查询几大城市的天气预报情况,主要功能有天气预告、城市温度、湿度、未来几天天气预测等。该软件使用起来非常方便。只要输入所查看的城市,软件自动提供当地的天气情况,以供查询。
二.For personal use only in study and research; not for commercial use
三.
四.功能说明
1、进入软件页面
2、功能说明
1)、【天气】功能:显示当前天气情况。资料来自于互联网真实天气预报。
2)、【城市】功能:显示当前所在城市。
3)、【温度】功能:显示选择城市天气温度变化。资料来自互联网真实天气温度预告。
4)、【湿度】功能:显示当地城市湿度
5)、【天气预测】功能:预测未来几天的天气状况。可以预测未来三天以内的天气资料。
6)、【更新日期】功能: 显示当前天气日期。
五.程序设计技术说明
本程序主要使用Service服务。Android开发中,当需要创建在后台运行的程序的时候,就要使用到Service。Service 可以分为有无限生命和有限生命两种。特别需要注意的是Service跟Activities是不同的(简单来说可以理解为后台与前台的区别),例如,如果需要使用Service的话,需要调用startService(),从而利用 startService()去调用Service中的OnCreate()和onStart()方法来启动一个后台的Service。
在本程序中除了使用Seivice服务外,还用到了网络xml解析器XmlPullParser。同时还使用了监听器OnClickListener 来进行监听动作。
程序部分主要代码1:
// 更新UI线程
handler = new Handler();
thread = new Thread() {
@Override
public void run() {
// 未完成ui更改
if (!done) {
// 加载完成
if (WeatherService.finishLoad) {
// 今天信息
tv_temp.setText("温度: "
+
+ "℃");
tv_city.setText("城市: "
+ ;
tv_weather
.setText("天气: "
+ WeatherService.weather .getCurrent_condition());
tv_humidity.setText(WeatherService.weather
.getCurrent_humidity());
tv_date.setText("更新日期: "
+
+ " " + ;
// 明天信息
tv_2ndday.setText(WeatherService.weather
.getForecast1_day_of_week());
tv_2ndweather.setText(WeatherService.weather
.getForecast1_condition());
tv_2ndtem.setText(WeatherService.weather
.getForecast1_low()
+ "~"
+
+ "℃");
// 后天信息
tv_3rdday.setText(WeatherService.weather
.getForecast2_day_of_week());
tv_3rdweather.setText(WeatherService.weather
.getForecast2_condition());
tv_3rdtem.setText(WeatherService.weather
.getForecast2_low()
+ "~"
+
+ "℃");
// 大后天信息
tv_4thday.setText(WeatherService.weather
.getForecast3_day_of_week());
tv_4thweather.setText(WeatherService.weather
.getForecast3_condition());
tv_4thtem.setText(WeatherService.weather
.getForecast3_low()
+ "~"
+
+ "℃");
// 关闭服务
;
WeatherService.finishLoad = false;
done = true;