Android开发之获取天气预报
2017-09-13 本文已影响2698人
1dcb8995fdce
一、简介
本经验主要实现获取指定城市天气预报的功能,运行程序,在屏幕上将显示默认城市的天气预报信息,单击上方的北京、上海等按钮,将显示对应城市的天气预报信息。例如,单击上海按钮,将显示如图所示的效果。
本经验实现的关键是访问Internet网络资源,这里需要访问中国天气网,并使用其中提供的单城市24小时天气预报插件实现获取指定城市天气预报的功能。

二、工具/原料
AndroidStudio
三、方法/步骤
1、修改新建项目的res/layout目录下的布局文件activity_main.xml,将默认添加的TextView组建删除,然后添加一个水平线性布局管理器和一个用于显示网页的WebView组建,并在该布局管理器中添加“北京”按钮、“上海”按钮。如图所示。

2、在MainActivity中,声明一个WebView组件的对象webView,具体代码如图所示。

3、在onCreate()方法中,首先获取布局管理器中添加的WebView组件,然后设置该组建允许使用JavaScript,以及处理JavaScript对话框和各种请求事件,再为WebView组件指定要加载的天气预报信息,具体代码如图所示。

4、让MainActivity实现OnClickListener接口,用于添加单击事件监听器。修改后的代码如图所示。

5、重写onClick()方法,用于为屏幕中的各个按钮的单击事件设置不同的响应。也就是在单击各个按钮时,调用openUrl()方法获取不同地区的天气预报信息,具体代码如图所示。

6、获取布局管理器中添加的“北京”按钮、“上海”按钮,并分别为它们添加单击事件监听器,具体代码如图所示。

7、编写用于打开网页获取天气预报信息的方法openUrl(),在该方法中,将根据传递的参数不同,获取不同地区的天气预报信息,具体代码如图所示。

8、由于在本经验中,需要访问网络资源,所以还需要在AndroidManifest.xml清单文件中指定允许访问网络资源的权限,具体代码如图所示。
