好天气APP(天气预报、空气质量、生活建议、灾害预警、出行建议、城市切换、城市搜索、世界国家/地区的城市、常用城市、背景更换、应用自动更新) (运用百度定位、百度地图与和风天气API制作) 演示视频地址...一、开发准备 1.数据和思维逻辑 天气APP最重要的就是数据,首先是你的定位数据,怎么获取,通过手机自动的GPS定位来获取详细的位置,然后通过这个位置来访问天气API接口,然后接口返回数据,你将返回的数据解析出来获得想要的内容在页面上进行渲染...,同时,也要进行其他城市的天气数据查询,这时候你就需要拿到全国省市县的数据,选择之后得一个城市,再进行一次天气查询,至此我们的APP就完成了,当然还有优化的空间,这个我们在开发过程中慢慢来写出来。...就说明你目前的测试环境没有问题,测试版本也没有问题,因为通过USB安装就是属于调试版本,然后就可以获取开发版SHA1了 ② 获取开发版SHA1 鼠标点击右侧边栏的Gradle→ app→Tasks→ android...-- 获取运营商信息,用于支持提供运营商信息相关的接口--> android:name="android.permission.ACCESS_NETWORK_STATE
好天气APP(天气预报、空气质量、生活建议、灾害预警、出行建议、城市切换、城市搜索、世界国家/地区的城市、常用城市、背景更换、应用自动更新) (运用百度定位、百度地图与和风天气API制作) 演示视频地址...一、开发准备 1.数据和思维逻辑 天气APP最重要的就是数据,首先是你的定位数据,怎么获取,通过手机自动的GPS定位来获取详细的位置,然后通过这个位置来访问天气API接口,然后接口返回数据,你将返回的数据解析出来获得想要的内容在页面上进行渲染...,同时,也要进行其他城市的天气数据查询,这时候你就需要拿到全国省市县的数据,选择之后得一个城市,再进行一次天气查询,至此我们的APP就完成了,当然还有优化的空间,这个我们在开发过程中慢慢来写出来。...文件中Application标签中声明service组件,每个App拥有自己单独的定位service,代码如下: 接口--> android:name="android.permission.ACCESS_NETWORK_STATE
正文 建议先去看一下和风天气V7版开发API文档这个,再开始下面的文章阅读,否则你会产生疑问,因为接口和数据的变化其实是挺大的。先来回顾一下S6版本中的开发者有哪些数据 ?...这是在Android 天气APP(十二)空气质量、UI优化调整提到的,也是在这一篇文章中,从普通用户升级到了开发者,拿到更多的数据。再看V7版本的 ?...打开ApiService.java,增加新的接口,有以下七个 1....android:text="云量" android:textColor="@color/black" android:layout_width...android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content
前言 常用城市对于那些经常在外面出差的朋友来说相信是不陌生的,因为涉及到在不同城市之间居住,所以对于其他城市的天气是比较在意的,假如我要去一个城市的话,肯定要先了解天气怎么样,不然过去之后身体都受不了,...> android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...app:contentInsetLeft="0dp" app:contentInsetStart="0dp" app:contentInsetStartWithNavigation...,当点击搜索出来的城市时,就去查询这个城市的天气,同时这个城市也会放入常用城市列表里面,这里可以用缓存来做处理,也可以通过数据库来处理。...> android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com
访问天气API与数据请求 2. 访问天气API接口 3....访问天气API接口 这里用的是和风天气API接口,点击进入官网 ? 点击天气API进行登录控制台或者注册账号 ?...接下来我们看一下开发文档怎么去获取天气数据 ? 点击常规天气数据,免费版 ?...网络请求 通过上面的访问地址,我们可以看得出来,只要修改location的值就可以得到不同地方的天气数据信息了,刚才是在网页上访问的,接下来就通过Android来访问这个地址,得到数据并且显示出来。...如果需要传参拼接到接口后面。
访问天气API与数据请求 2. 访问天气API接口 3....访问天气API接口 这里用的是和风天气API接口,点击进入官网 点击天气API进行登录控制台或者注册账号 注册用邮箱就可以了,这里没有什么好讲解的,我是已经注册过了,所以我登录就可以了,...点击创建 接下来我们看一下开发文档怎么去获取天气数据 点击常规天气数据,免费版 now就是今天的天气,根据这个文档我们来写一个访问地址 https://free-api.heweather.net...网络请求 通过上面的访问地址,我们可以看得出来,只要修改location的值就可以得到不同地方的天气数据信息了,刚才是在网页上访问的,接下来就通过Android来访问这个地址,得到数据并且显示出来。...如果需要传参拼接到接口后面。
获取当前所在位置信息 ① 绑定控件 ② Android版本判断 ③ 权限申请 ④ 初始化LocationClient类 ⑤ 实现BDAbstractLocationListener接口 ⑥ 显示定位结果...> android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...(option); //启动定位 mLocationClient.start(); } 这时,你会发现myListener会有红线报错,是因为我们没有实现这个接口...,下面来实现,这个方法和onCreate是平级的,你只要是写在MainActivity的{}里面,想放那里就放那里 ⑤ 实现BDAbstractLocationListener接口 /**...现在位置已经拿到了,接下来就是通过这个位置来查询当天的天气了。
前言 在这篇文章中我将给天气APP加入语音功能,首当其冲的就是这个语音播报功能。语音使用了第三方SDK,做语音开发不可能不知道讯飞,因此我这里用的也是讯飞的SDK,下面开始吧。...然后是tempStr ,在实况天气返回中。...然后tempMaxMin ,天气预报数据返回中。...android:value="50" app:haloColor="@color/blue_one" app:thumbColor...android:value="50" android:valueFrom="0" app:haloColor="@color
前言 在上一篇文章中,给天气APP添加了语音播报的功能,但是主页面要是想去切换城市除了已有常用城市以外,切换城市和搜索城市需要的操作都太多了,因此通过语音来搜索城市,然后查询天气无疑可以简化操作步骤...因此你需要在app模块下的AndroidManifest.xml中添加一个录音权限。...20" android:clickable="true" android:src="@mipmap/icon_voice_search" app:backgroundTint...="@color/white" app:backgroundTintMode="screen" app:fabSize="mini" app:hoveredFocusedTranslationZ...这个天气APP的系列博客文章我居然都写到了第三十四篇了,这在之前是我不敢相信的,最开始的版本是九篇文章,其实就是一篇文章,但是由于字数太多,不让发布,所以我拆分了成了前九篇文章,然后去年一整年的时间,陆陆续续又写了
获取当前所在位置信息 ① 绑定控件 ② Android版本判断 ③ 权限申请 ④ 初始化LocationClient类 ⑤ 实现BDAbstractLocationListener接口 ⑥ 显示定位结果...> android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...(option); //启动定位 mLocationClient.start(); } 这时,你会发现myListener会有红线报错,是因为我们没有实现这个接口...,下面来实现,这个方法和onCreate是平级的,你只要是写在MainActivity的{}里面,想放那里就放那里 ⑤ 实现BDAbstractLocationListener接口 /**...现在位置已经拿到了,接下来就是通过这个位置来查询当天的天气了。如果你运行之后没有拿到地址,并且你已经打开了手机的定位开关和网络连接。
APP了,原因主要是没有什么好的更新的因素和新的功能。...首先是和风天气更新的新的分钟级降水API,这个是可以提供给开发者免费调用的。话不多说了,进入正文。...下面在ApiService中添加新的接口。...② 通过和风天气的城市搜索获取。 这里我们使用第二种方式来获取经纬度,那么就是在搜索城市的返回值中拿到经纬度之后去请求分钟级降水的的接口,获取数据之后显示出来。...---- 文末 说到这里也就是这篇博客的结束了,其实挺感慨的,这个天气APP从我刚开始写大概是3月份,现在已经到了12月了,时间过得真快呀。
② 弹窗可关闭不再弹出,可以通过缓存的方式判断处理, ③ 弹窗上面显示的值,可以通过主页面其它接口先获取到返回值,然后在弹窗中显示, ④ 每日只弹出一次,这个就是要在每日弹出弹窗时,存储一个时间戳缓存...,后面再进入APP时判断时间大小就可以了。...--天气状态--> <TextView android:id="@+id/tv_weather_state" android:layout_width...id/tv_temperature" android:text="天气" android:textColor="@color/white"...--天气状态图标--> <ImageView android:id="@+id/iv_weather_state" android:layout_width
match_parent" android:layout_height="wrap_content" xmlns:app="http://schemas.android.com/apk/...@param location 城市名 */ public void searchCity(String location) {//注意这里的4表示新的搜索城市地址接口...然后请求另外三个接口方法,在返回中做处理,当然后期还会做优化,会涉及到网络状态、数据存储等地方,一步一步来,一口是吃不成胖子的。.../dp_20" android:clickable="true" android:src="@mipmap/icon_auto_location" app...="@dimen/dp_0" app:fabSize="mini" app:hoveredFocusedTranslationZ="@dimen/dp_18"
Activity和Fragment) ⑧ 创建net包(封装OKHttp,重写CallBack) 5. app使用MVP ① 创建API管理服务接口ApiService ② 订阅接口服务,处理API请求返回数据...MVP框架搭建 现在这样固然符合网络请求的标准,结果也得到了,但是这只是一个接口而已,我们用了这么多代码,那假如这个页面上还有好几个接口要请求访问,岂不是多出了很多的重复代码,这一点并不符合现在Android...使用MVP 至此,MVP框架就搭建完成了,接下来回到app项目中在com.llw.goodweather包下创建一个api包,在这个包下新建一个ApiService接口 ① 创建API管理服务接口ApiService...; import android.app.Dialog; import android.content.Context; import android.content.res.Configuration...; import android.app.Activity; import android.graphics.Color; import android.os.Build; import android.view.View
以及包下的Activity和Fragment) ⑧ 创建net包(封装OKHttp,重写CallBack) 5. app使用MVP ① 创建API管理服务接口ApiService ② 订阅接口服务,处理...MVP框架搭建 现在这样固然符合网络请求的标准,结果也得到了,但是这只是一个接口而已,我们用了这么多代码,那假如这个页面上还有好几个接口要请求访问,岂不是多出了很多的重复代码,这一点并不符合现在Android...代码如下: package com.llw.mvplibrary.kit; import android.app.Activity; import android.app.Dialog; import...使用MVP 至此,MVP框架就搭建完成了,接下来回到app项目中在com.llw.goodweather包下创建一个api包,在这个包下新建一个ApiService接口 ① 创建API管理服务接口ApiService...代码如下: package com.llw.goodweather; import android.app.Activity; import android.app.Dialog; import android.content.Context
天气预报、生活指数的数据请求与渲染 6. 天气预报 ① 新增API接口 ② 修改订阅器 ③ 修改布局,增加列表和适配器 ④ 使用适配器进行数据展示 7....天气预报 天气预报是预测未来几天的天气,常用列表显示,实现这个功能的业务逻辑是:访问API、获取返回值、列表配置、数据渲染。首先是API接口。...① 新增API接口 根据和风天气中的文档,得知未来3-7天的天气预报接口为: https://free-api.heweather.net/s6/weather/forecast?...① 新增API接口 根据和风天气中的文档,得知生活指数接口为: https://free-api.heweather.net/s6/weather/lifestyle?...attr/actionBarSize" app:contentInsetLeft="16dp" app:popupTheme="@style
代码如下: package com.llw.mvplibrary.view; import android.content.Context; import android.content.res.TypedArray...; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import...android.graphics.Path; import android.graphics.RectF; import android.os.Handler; import android.os.Message...; import android.util.AttributeSet; import android.view.View; import androidx.annotation.Nullable;...风力的数据其实在天气数据的返回值就有了,就是第一个接口,接下来修改代码 ?
; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import...android.graphics.Path; import android.graphics.RectF; import android.os.Handler; import android.os.Message...; import android.util.AttributeSet; import android.view.View; import androidx.annotation.Nullable;..."/> 代码中: 风力的数据其实在天气数据的返回值就有了...,就是第一个接口,接下来修改代码 代码如下: tvWindDirection.setText("风向 " + response.body().getHeWeather6().get
前言 反正国内的天气也做好了,不妨做一下做一下国外的天气,国外的天气数据的展示,我将重新设计一套UI,区别于国内的天气UI,开搞~ 运行效果图 ?...① API地址 和风天气有这方面的API,白嫖侠申请出战!地址如下 https://search.heweather.net/top?...> android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...> android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...⑤ 热门城市的天气信息展示 这里就需要创建一个新的页面了,因为我希望区别于MainActivity的样式。 ?
正文 ① 修改API 在ApiService中修改hotCity这个接口,将固定地址里面的group分离出来,作为请求参数。...> android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...="parent" app:navigationIcon="@mipmap/icon_return" app:contentInsetLeft="@dimen/dp_16..." app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent...> android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com
领取专属 10元无门槛券
手把手带您无忧上云