Android 端天气预报APP的实现(二)阿里云天气预报API的获取

上一章基本实现了控件的滑动效果,那么其中的数据是怎么获取的呢~
我使用的是阿里云天气预报api,使用阿里云提供的API,需要遵循以下几步:
1. 百度搜索阿里云免费天气预报API,进入阿里云云市场。
这里写图片描述
2. 这个API是免费版的,只要不是商业开发,应该可以满足我们的需求。有了API,第一步应该看的是这个API的请求方式,返回的数据格式,以及最重要的是可以请求到多少数据,比如一定要有天气质量,未来几日天气等等。下面这张图就可以看到所有你想知道的。这也是阿里云自己提供的,请求方式为get,返回类型为json,左侧还可以选择你想获取哪些类型的天气信息。这里我选的是id或地名查询7天预报。
这里写图片描述
3. 再往下拉你会发现阿里云还把每种语言下具体的请求方式示例全都列举了出来,良心网站啊!!不过我在使用它提供的示例时出现了一些问题,不知道大家会不会遇到,那么我就来说说我具体是怎么获取的吧~
1)首先,将Java请求示例中的代码拷贝下来,这里我稍微做了一下更改,因此我在使用时出现了一些问题,更改之后的是完全可以正常获取的。

final String host = "http://ali-weather.showapi.com";
        final String path = "/area-to-weather";
        final String method = "GET";
        String appcode = "c402356e77824e7d8a23eebf6cf6d0b5";
        final Map<String, String> headers = new HashMap<>();
        final Map<String, String> querys = new HashMap<>();

        headers.put("Authorization", "APPCODE " + appcode);
        querys.put("area", "济南");
        querys.put("need3HourForcast", "0");
        querys.put("needAlarm", "0");
        querys.put("needHourData", "1");
        querys.put("needIndex", "1");
        querys.put("needMoreDay", "1");

        String content = "";

        HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
        BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "utf-8"));
        for (String s = reader.readLine(); s != null; s = reader.readLine()) {
                content += s;
            }

2)拷贝完这写代码,你会发现很多地方全都报红,哇是不是很兴奋。首先,先按照示例的要求去下载HttpUtils类,放到项目中。

/**
 * Created by zhaoxin on 17/9/15.
 */

public class HttpUtils {
   

    /**
     * get
     *
     * @param host
     * @param path
     * @param method
     * @param headers
     * @param querys
     * @return
     * @throws Exception
 
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
很抱歉,由于时间和篇幅的限制,我无法在这里为您提供完整的代码。但是,我可以为您提供一些实现天气预报APP的关键步骤和技术要点,供您参考。 1. 注册阿里云账号并获取API Key 在阿里云的开放平台中,您需要注册一个账号,并选择获取天气预报API Key。获得API Key后,您可以在Android Studio中使用Retrofit等网络请求框架进行API调用,获取天气预报数据。 2. 创建Android项目并设计UI界面 在Android Studio中,您可以创建一个新的项目,并设计UI界面。通常,天气预报APP的UI界面包括以下几个部分: - 城市选择界面:可以使用下拉列表、搜索框等方式实现城市选择。 - 天气信息展示界面:展示当前城市的天气情况,包括温度、天气状况等信息。 - 天气趋势展示界面:展示当前城市未来一段时间的天气趋势,包括温度、天气状况、降水概率等信息。 3. 使用Retrofit进行网络请求和数据解析 在Android Studio中,您可以使用Retrofit等网络请求框架进行API调用。在调用API时,您需要传递API Key和城市参数,并获取服务器返回的JSON格式数据。然后,您可以使用GSON等JSON解析库对数据进行解析,获取您需要的天气预报信息。 4. 实现天气趋势展示 在实现天气趋势展示时,您可以使用折线图、柱状图等方式展示天气趋势信息。通常,您需要将获取到的天气预报数据进行处理,生成相应的数据结构,再使用图表库进行展示。 5. 实现自动定位和手动刷新 为了提高用户体验,您可以在APP实现自动定位和手动刷新功能。通过GPS等方式获取用户当前位置,并自动展示该位置的天气预报信息。同时,您也可以提供手动刷新按钮,让用户手动刷新天气预报信息。 以上就是实现天气预报APP的关键步骤和技术要点。希望对您有所帮助!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值