Android经典项目开发之天气APP实例分享
引言
由于系统的天气App比较简陋,而从Android市场下载下来的天气App比如墨迹天气界面虽然美观,数据也比较详实,但是却非常多乱七八糟的广告,一不小心点错了就后台帮你偷偷下载。作为Android开发者当然理解这种利益诉求,但从一个用户的角度而言,我却认为这已经严重影响用户体验了。因此,才有了卸载墨迹天气的下文。
后来因为考虑到自己从事安卓开发已经有一段时间了,虽然大大小小的项目也做过一些了,但是却还没有从头到尾完全独立开发过一个属于自己的App,考虑到天气App涉及知识面广,综合性强,作为android经典开发项目之一,比较能强化和深入自己对知识的理解以及锻炼提升自己的知识运用水平,加上上文提到的那些因素,因此就有了完全属于自己的天气App项目iWeather。
关于iWeather项目的开源
我的iWeather项目现在已经在github开源,感兴趣的朋友可以参考借鉴,访问我的iWeather项目的github地址.点击我访问我的github上的iWeather项目.
iWeather项目的特点
较详实的天气数据
较美观合理易用的UI
支持同时显示多个城市的天气
支持下拉刷新
背景随机切换
绝对纯净简洁安全,无广告(我不会告诉你其实是没啥广告价值)
iWeather天气App截图
关于App数据来源
天气数据来源于和风天气,我是通过百度API Store来调用的,这个和风天气免费版提供的数据还比较多,但不是很稳定,晚上12点前后虽然可以访问,但其实数据没有按照白天的频率更新。每天可以访问3000次。总的来说对于免费的天气接口,和风天气目前还算是比较好的一个选择。
图标和图片资源,有的来源于百度,有的来源于谷歌提供的material design通用图标,有的是把其它app的图标资源copy过来用(ps:对于非商业目的我觉得没什么问题,而且要找一套风格统一且美观大方的图标不是很容易,再说多把时间花在编程上才是正事)。
iWeather项目待改进方面
还未提供一个用于在桌面显示天气的widget插件
可以考虑将节气和节日也恰当地集成进去,方便用户
城市选择列表可以考虑添加侧栏字母索引排序,还有搜索添加的功能。虽然每个城市列表item数不多,滑动点击选择没有太大影响效率,但添加这两项功能无疑能改进用户体验。
没有灾害预警功能,降雨小时预报(不过这个受限于天气接口)
可以考虑将台风实时路径发布系统集成进去,我目前还没有发现有这样功能的天气App,其实这还是有需求的,在沿海城市厦门生活的我今年(2016年)强烈感受到查看台风跑哪了不能直接从天气App直接查看真是一大失望(其实不难,只是一个web页面,但是要考虑到webView的内存泄漏问题)
由于城市接口用的是中央气象台的,所以目前只支持查看中国的天气,和风天气接口本身是支持全球天气的。
背景可以更换成象征此时天气的图片而不是目前随机的风景图片,这可能会有更好的体验(ps:不过这种图片要找一套比较理想的还是挺难的)。又或者可以学习墨迹天气,背景不仅对应相应的天气状况变化,而且还是动态的,感觉效果挺好的。不过这些都要自己对每一种天气状况做一个自定义View或者动画,时间开销会比较大,性价比会比较低。
关于iWeather App的下载
由于将应用上架到国内的App市场现在都要实名制,要上传手持身份证的照片,觉得麻烦又有点担心信息泄露,而且我现在这个应用也不是针对消费市场,更多的是出于与各位Android开发者同行相互学习交流的目的,因此就不打算上架到国内的应用市场了。想要下载试用的朋友,可以移步到我的github地址。点击我从github下载iWeather天气App. 更新:之前有上传资源到CSDN,但由于在CSDN上更新资源挺麻烦的,往后如果有版本更新统一都在github上了
由于该天气接口每个百度API key每天所能访问的次数有限(每天3000次),因此不建议把从该链接下载的App作长期使用,如果有需要,你可以移步去iWeather项目的github地址(见上)去fork,然后将netutil包下面的HttpUtil.java中的百度API key改成你自己的就OK了。
注意,该App只支持API 15及以上,即android 4.0.3及以上版本。
Android经典项目开发之天气APP实例分享相关推荐
- Android经典项目案例开发实战宝典
Android经典项目案例开发实战宝典 Android 系统并不自带文件管理器,但是很多情况下,我们有诸如从SD中打开文件的需要,怎么办呢?相信大家都比较习惯Windows 下操作文件和文件夹的方式, ...
- (更新源码)AndroidStudio新手开发:天气app(百度地图api+和风天气api+城市查询+折线展示)
AndroidStudio新手开发:天气app(百度地图api+和风天气api+城市查询+折线展示) 1.内容简介 2.环境配置 3.导入他人demo 4.AS项目分析 5.天气项目流程 6.数据探寻 ...
- Kotlin最佳项目实战——欧瑞天气App
项目实战--欧瑞天气App 到现在为止,我们已经学习了绝大多数Kotlin的核心技术以及如何用Kotlin开发Android App,也编写过大量的程序,但还没有设计过一款完整的App,本章将满足读者 ...
- Android经典蓝牙开发全流程
一.基本介绍 所谓蓝牙(Bluetooth)技术,实际上是一种短距离无线电技术,最初是由爱立信公司公司发明的.技术始于爱立信公司 1994 方案,它是研究在移动电话和其他配件间进行低功耗.低成本无 ...
- Android 经典蓝牙开发
本文主要讲解经典蓝牙的开发,主要包含以下几个知识点: 蓝牙 API 简介 经典蓝牙开发的一般步骤 相信通过以上步骤,您会很快上手一个 Android 经典蓝牙开发的 App. 蓝牙 API 简介 An ...
- 超详细的Android百度地图开发:在APP上定位并显示出来
超详细的Android百度地图开发:在APP上定位并显示出来 一 写在前面 二 注册百度开发者账户.申请API KEY 三.代码实现 四.问题 五.总结 一 写在前面 由于项目所需,我需要在手机APP ...
- Android之---项目开发中网络框架的选择
项目开发中网络框架的选择 Android常用的网路框架: 大多数应用程序基本都需要连接网络,发送一些数据给服务端,或者从服务端获取一些数据.通常在 Android 中进行网络连接一般使用 Scoket ...
- 【项目篇】Android团队项目开发之统一代码规范
前言 团队项目开发前的统一三要素:统一需求/开发文档,统一代码规范,统一环境(编译/测试/发布). 一个项目团队,要想有高效的产出,必须在团队协作上下好功夫,必须在项目开发统一进度上做好协调.只有在高 ...
- python项目开发案例集锦_在线分享 | 在 VS Code 中一站式完成 Python 项目开发
往期活动回顾 VS Code 中文社区自成立以来,已经举办了4场活动: Workshop | First Step to VS Code 基础篇 Workshop | First Step to VS ...
- Android经典蓝牙开发简介(Google官网译文)
公司的项目最近需要用到蓝牙开发的相关内容,因此特地查阅了Google官方文档的内容并进行二次整理,希望能对需要学习该部分的朋友有所帮助. 原文地址:http://developer.android.c ...
最新文章
- 亚马逊首席技术官预测2021年将改变世界的八大技术趋势
- internal heap limit reached问题的解决
- golang 使用 http socks 代理
- Struts2 校验数据问题
- C#基础知识点梳理一
- 登录mysql报错2059_navicat连接mysql报错2059的解决方法
- 怎么用PHP建立购物网站,如何使用PHP建设一个购物网站
- 【Java】输入三角形的三边长,求三角形的面积
- 51单片机c语言教程温度计,单片机课程设计-数字温度计.doc
- android多环境,Android多环境配置打包
- STM32F103高级定时器使用
- Emscripten教程之C++和JavaScript绑定(三)
- 编程经历的一些思考——一个工作4年老鸟的职业思考(转载)
- pip3 install tesserocr安装失败
- Java程序员集合框架面试题
- Vue 实例常用的属性和方法
- 百度html模板引擎,百度JS模板引擎 baiduTemplate
- [转载]MIS专业排名
- 分布式和集中式版本控制工具-svn,git,mercurial比较分析
- 计算机网络协会宣传文案,心理协会 | 一千句招新文案,不及你出现的一刻