天气预报 接口(天气预报接口源码)

天气预报 接口(天气预报接口源码)整理一下完成的思路 并附上部分代码和注释以及自己的理解 看到有同学问 附上项目地址 https github com LittleFogCat coolweather 逻辑部分 一 首先通过网络接口获得全国省市县的列表 1 新建一个 HttpUtil 类 在其中创建一个 sendOkHttpRe 方法 2 新建 Province City County 类 分别用于保存省市县的数据 3 配置 litepal 配置 assets litepal xml



整理一下完成的思路,并附上部分代码和注释以及自己的理解。

(看到有同学问,附上项目地址:https://github.com/LittleFogCat/coolweather)

逻辑部分

一、首先通过网络接口获得全国省市县的列表。

1. 新建一个HttpUtil类,在其中创建一个sendOkHttpRequest()方法:

2. 新建Province, City, County类,分别用于保存省市县的数据。

配置assets/litepal.xml

配置Manifest-Application

4. 新建Utility类,用于处理返回的json数据

很简单,利用JSONObject处理json数据,并调用save()方法保存入数据库中。

5. 新建遍历省市县的Fragment

二、通过查询到结果获得天气数据:

0. 由于传回的JSON数据较为复杂,故使用Gson来解析传回的数据。

1. 定义Gson实体类:

由于返回的数据格式大致为:

2. 显示查询到的天气

在Utility中新建一个用于解析传回天气数据的方法:

天气显示部分使用一个DrawerLayout,其中drawer中放了一个选择地区的Fragment,主要部分则是各种显示天气信息的TextView嵌套在一个SwipeRefreshLayout中,用于下拉刷新的实现。

原程序暂时遇到几个地方是有缺陷的:

1. 在获取省市区数据的时候,如果第一次从服务器没有获得正确、完整的数据,那么之后程序在查询的时候,虽然数据不完整,但是数据库并不为空,依然会通过本地查询,这样就会因为得不到需要的数据造成空指针异常。可捕获此异常,并删除数据库中数据,重新从服务器查询。

2. 如果服务器返回的天气数据不是正确、完整的,在通过weather取天气数据的时候则会得到一个null对象而不是字符串。这里不能用于显示,可加一个判断,不为null再赋值。

3. 在第一次选择城市之后,之后不管选择哪个城市,刷新之后都会显示第一次选择城市的天气。可通过改变传入参数来调整。

1. 优化部分逻辑,使运行更加稳定可靠,减少了出错崩溃的可能性:

增加了数据完整性判断

2. 增加了空气质量指数的分级,并用不同的颜色划分;

3. 改变了自动更新的方式,减少电量和流量消耗;

4. 部分界面效果调优。

效果图:

Android如何获取天气接口 android天气项目源码_Android如何获取天气接口

Android如何获取天气接口 android天气项目源码_android_02

今天的文章 天气预报 接口(天气预报接口源码)分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-07-03 22:33
下一篇 2025-02-09 09:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/41576.html