一、实验目的
- 掌握HTTP请求方法
- 掌握使用Gson库解析json数据
- 熟悉Handler,Message多线程编程步骤
- 熟悉OnClickListener监听器的使用
二、实验环境
Windows,android studio
三、项目分析
该项目是一个天气预报的小程序,主要功能包括:
1、启动程序,显示默认值; 当点击“刷新”按钮时,从Tomcat服务器端读取天气信息(存在服务器端“weather.json”文件中),并更新UI。
2、当点击“刷新”按钮时,从Tomcat服务器端读取天气信息(存在服务器端“weather.json”文件中),并更新UI。
下面,我们来看下效果图,我们将会开了发出一款以下界面的app。
四、实验步骤
1、新建工程。
2、导入需要的图片资源等
3、修改设计主界面
4、实现界面逻辑
1)初始化控件
2)创建WeatherInfo类,存储天气信息
3)实现getWeatherInfo方法,在子线程中,实现网络请求,获取数据流
4)实现getInfosFromJson方法,完成输入流到对象的转换方法
5)创建Handler对象,重写它的HandlerMessage()方法,实现UI更新
6)在getWeatherInfo()方法中,补充代码,完成处理网络请求得到的响应结果,并发送消息7)在OnClickListener监听器的OnClick()方法中,补充代码,调用getWeatherInfo()方法,通过网络获取天气信息,再将其转换为天气信息对象列表
接下来我们按步骤完成这个项目的实现。
1、创建工程
File->New->New Project
2、导入需要的图片资源
在project工具窗口中,将视图切换到“Project”,然后在res目录下,创建一个drawable-hdpi文件夹;打开“New Resource Directory”窗口,在Resource Type对应的下拉列表中,选择drawable;在左侧“Available qualifies”下方的下拉列表中,选择density,然后点击;然后在density对应的下拉列表中,选择High density,此时就可以看到“Directory Name”自动变为“drawable-hdpi”,然后点击OK;