Android项目之天气预报 的实现分析

Android项目之天气预报 的实现分析

输入要查询的城市名称,点击查询按钮后,依次出现七天的天气情况。出现时有动画效果

二、实现过程

(一)获取天气预报数据

1、首先搞定天气预报数据来源的问题,提高天气预报服务的有很多网站,这些网站一般都会提供比较详细的 API 接口供应用程序调用,以聚合数据为例,其官网为:https://www.juhe.cn/如下图所示:

点击注册,进入注册界面:

登录成功后,就会进入到如下界面。

点击左侧菜单中我的数据,进入如下界面

点击申请新数据,如下所示,必须实名认证

进入聚合数据首页,选择 API 选项卡,选择免费的天气预报 API

点击进入后,只要申请就送 500 次使用,如下图所示。

复制其中的 AppKey:ab9d7e2007472d723baf71fcdc4ba094

打开全国天气预报 API 后,会有一项请求示例,按照其规则拼接字符串后在地址栏中输入
后可得

具体参照聚合数据的文档

下面是类的展示

2、编写网络数据访问工具类

首先需要在 uiti 包下定义一个接口,比如将它命名成 HttpCallbackListener,代码如下

package com.example.weather.util;  public interface HttpCallbackListener { 	void onFinish(String response); 	void onError(Exception e); } 

然后定义 HttpUtil 类,代码如下

package com.example.weather.util;  import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL;  import android.util.Log;  public class HttpUtil { 	public static void sendHttpRequest(final String address, final HttpCallbackListener listener) { 		new Thread(new Runnable() { 			public void run() { 				HttpURLConnection connection = null; 				try { 					URL url = new URL(address); 					connection = (HttpURLConnection) url.openConnection(); 					connection.setRequestMethod("GET"); 					connection.setConnectTimeout(8000); 					connection.setReadTimeout(8000); 					connection.setDoInput(true); 					connection.setDoOutput(true); 					InputStream in = connection.getInputStream(); 					BufferedReader reader = 							new BufferedReader(new InputStreamReader(in)); 					StringBuilder response = new StringBuilder(); 					String line; 					while ((line = reader.readLine()) != null) { 						response.append(line);		 					} 					if (listener != null) { 						/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值