学习
实践
活动
工具
TVP
写文章

Android 天气APP(一)开发准备

天气APP天气预报、空气质量、生活建议、灾害预警、出行建议、城市切换、城市搜索、世界国家/地区的城市、常用城市、背景更换、应用自动更新) (运用百度定位、百度地图与和风天气API制作) 演示视频地址 一、开发准备 1.数据和思维逻辑   天气APP最重要的就是数据,首先是你的定位数据,怎么获取,通过手机自动的GPS定位来获取详细的位置,然后通过这个位置来访问天气API接口,然后接口返回数据,你将返回的数据解析出来获得想要的内容在页面上进行渲染 ,同时,也要进行其他城市的天气数据查询,这时候你就需要拿到全国省市县的数据,选择之后得一个城市,再进行一次天气查询,至此我们的APP就完成了,当然还有优化的空间,这个我们在开发过程中慢慢来写出来。 文件中Application标签中声明service组件,每个App拥有自己单独的定位service,代码如下: <! -- 获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE

25930

Android 天气APP(一)开发准备

天气APP天气预报、空气质量、生活建议、灾害预警、出行建议、城市切换、城市搜索、世界国家/地区的城市、常用城市、背景更换、应用自动更新) (运用百度定位、百度地图与和风天气API制作) 演示视频地址 一、开发准备 1.数据和思维逻辑 天气APP最重要的就是数据,首先是你的定位数据,怎么获取,通过手机自动的GPS定位来获取详细的位置,然后通过这个位置来访问天气API接口,然后接口返回数据,你将返回的数据解析出来获得想要的内容在页面上进行渲染 ,同时,也要进行其他城市的天气数据查询,这时候你就需要拿到全国省市县的数据,选择之后得一个城市,再进行一次天气查询,至此我们的APP就完成了,当然还有优化的空间,这个我们在开发过程中慢慢来写出来。 就说明你目前的测试环境没有问题,测试版本也没有问题,因为通过USB安装就是属于调试版本,然后就可以获取开发版SHA1了 ② 获取开发版SHA1 鼠标点击右侧边栏的Gradle→ app→Tasks→ android -- 获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE

70340
  • 广告
    关闭

    【限时特惠】腾讯云移动推送,助您高效激活存量客户,新购4.5折起!

    安全/快速/稳定的APP消息推送服务,用户促活/留存利器,稳定服务于腾讯游戏、腾讯视频等高日活应,欲购从速!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 天气APP(十八)常用城市

    前言 常用城市对于那些经常在外面出差的朋友来说相信是不陌生的,因为涉及到在不同城市之间居住,所以对于其他城市的天气是比较在意的,假如我要去一个城市的话,肯定要先了解天气怎么样,不然过去之后身体都受不了, > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com app:contentInsetLeft="0dp" app:contentInsetStart="0dp" app:contentInsetStartWithNavigation ,当点击搜索出来的城市时,就去查询这个城市的天气,同时这个城市也会放入常用城市列表里面,这里可以用缓存来做处理,也可以通过数据库来处理。 > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com

    24910

    Android 天气APP(十九)更换新版API接口(更高、更快、更强)

    正文 建议先去看一下和风天气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

    72620

    Android 天气APP(三)访问天气API与数据请求

    访问天气API与数据请求 2. 访问天气API接口 3. 访问天气API接口 这里用的是和风天气API接口,点击进入官网 点击天气API进行登录控制台或者注册账号 注册用邮箱就可以了,这里没有什么好讲解的,我是已经注册过了,所以我登录就可以了, 点击创建 接下来我们看一下开发文档怎么去获取天气数据 点击常规天气数据,免费版 now就是今天的天气,根据这个文档我们来写一个访问地址 https://free-api.heweather.net 网络请求 通过上面的访问地址,我们可以看得出来,只要修改location的值就可以得到不同地方的天气数据信息了,刚才是在网页上访问的,接下来就通过Android来访问这个地址,得到数据并且显示出来。 如果需要传参拼接到接口后面。

    43920

    Android 天气APP(三)访问天气API与数据请求

    访问天气API与数据请求 2. 访问天气API接口 3. 访问天气API接口 这里用的是和风天气API接口,点击进入官网 ? 点击天气API进行登录控制台或者注册账号 ? 接下来我们看一下开发文档怎么去获取天气数据 ? 点击常规天气数据,免费版 ? 网络请求 通过上面的访问地址,我们可以看得出来,只要修改location的值就可以得到不同地方的天气数据信息了,刚才是在网页上访问的,接下来就通过Android来访问这个地址,得到数据并且显示出来。 如果需要传参拼接到接口后面。

    1.3K30

    Android 天气APP(二)获取定位信息

    获取当前所在位置信息 ① 绑定控件 ② Android版本判断 ③ 权限申请 ④ 初始化LocationClient类 ⑤ 实现BDAbstractLocationListener接口 ⑥ 显示定位结果 > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com (option); //启动定位 mLocationClient.start(); } 这时,你会发现myListener会有红线报错,是因为我们没有实现这个接口 ,下面来实现,这个方法和onCreate是平级的,你只要是写在MainActivity的{}里面,想放那里就放那里 ⑤ 实现BDAbstractLocationListener接口 /** 现在位置已经拿到了,接下来就是通过这个位置来查询当天的天气了。

    57130

    Android 天气APP(三十三)语音播报

    前言   在这篇文章中我将给天气APP加入语音功能,首当其冲的就是这个语音播报功能。语音使用了第三方SDK,做语音开发不可能不知道讯飞,因此我这里用的也是讯飞的SDK,下面开始吧。 然后是tempStr ,在实况天气返回中。 然后tempMaxMin ,天气预报数据返回中。 android:value="50" app:haloColor="@color/blue_one" app:thumbColor android:value="50" android:valueFrom="0" app:haloColor="@color

    27710

    Android 天气APP(三十四)语音搜索

    前言   在上一篇文章中,给天气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的系列博客文章我居然都写到了第三十四篇了,这在之前是我不敢相信的,最开始的版本是九篇文章,其实就是一篇文章,但是由于字数太多,不让发布,所以我拆分了成了前九篇文章,然后去年一整年的时间,陆陆续续又写了

    24910

    Android 天气APP(三十)分钟级降水

    APP了,原因主要是没有什么好的更新的因素和新的功能。 首先是和风天气更新的新的分钟级降水API,这个是可以提供给开发者免费调用的。话不多说了,进入正文。 下面在ApiService中添加新的接口。 ② 通过和风天气的城市搜索获取。 这里我们使用第二种方式来获取经纬度,那么就是在搜索城市的返回值中拿到经纬度之后去请求分钟级降水的的接口,获取数据之后显示出来。 ---- 文末   说到这里也就是这篇博客的结束了,其实挺感慨的,这个天气APP从我刚开始写大概是3月份,现在已经到了12月了,时间过得真快呀。

    41620

    Android 天气APP(二)获取定位信息

    获取当前所在位置信息 ① 绑定控件 ② Android版本判断 ③ 权限申请 ④ 初始化LocationClient类 ⑤ 实现BDAbstractLocationListener接口 ⑥ 显示定位结果 > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com (option); //启动定位 mLocationClient.start(); } 这时,你会发现myListener会有红线报错,是因为我们没有实现这个接口 ,下面来实现,这个方法和onCreate是平级的,你只要是写在MainActivity的{}里面,想放那里就放那里 ⑤ 实现BDAbstractLocationListener接口 /** 现在位置已经拿到了,接下来就是通过这个位置来查询当天的天气了。如果你运行之后没有拿到地址,并且你已经打开了手机的定位开关和网络连接。

    24130

    Android 天气APP(三十一)每日提醒弹窗

    ② 弹窗可关闭不再弹出,可以通过缓存的方式判断处理, ③ 弹窗上面显示的值,可以通过主页面其它接口先获取到返回值,然后在弹窗中显示, ④ 每日只弹出一次,这个就是要在每日弹出弹窗时,存储一个时间戳缓存 ,后面再进入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

    44240

    Android 天气APP(二十五)地图天气(下)嵌套滑动布局渲染天气数据

    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"

    42420

    Android 天气APP(四)搭建MVP框架与使用

    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

    20930

    天气API接口

    已废弃 API地址:http://t.weather.sojson.com/api/weather/city/101210101

    56720

    Android 天气APP(五)天气预报、生活指数的数据请求与渲染

    天气预报、生活指数的数据请求与渲染 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

    48530

    Android 天气APP(四)搭建MVP框架与使用

    以及包下的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

    48260

    Android 天气APP(二十七)增加地图天气的逐小时天气、太阳和月亮数据

    开发流程 1.功能优化 2.地图天气中增加逐小时天气 3.地图天气中增加太阳和月亮数据 1.功能优化   首先说明一下,写这个APP是个人行为,所以很多的地方我写的代码并不是很完善,会存在这样或那样的问题 2.地图天气中增加逐小时天气 下面就是在地图天气中增加逐小时天气了,这里我用了和风的自定义View,感觉还是不错的,下面来一步一步实现吧。 这里面会用到一些图标 链接:图标提取地址 提取码:57sb 先写好工具类,在app下的utils包新建 package com.llw.goodweather.utils; import android.content.Context 下面一个一个来说明 先从接口来看 ScrollWatched.java package com.llw.goodweather.view.horizonview; /** * 定义滑动监听接口 ,在新增接口之前,有一个小插曲就是,如果你是在S6版本下创建的Key,那么你是访问不了V7版本下的太阳和月亮的接口的,会提示403,就是没有权限,所以需要你重新创建一个应用KEY,这是我自己新建的KEY

    48420

    Android 天气APP(十六)热门城市 - 海外城市

    前言 反正国内的天气也做好了,不妨做一下做一下国外的天气,国外的天气数据的展示,我将重新设计一套UI,区别于国内的天气UI,开搞~ 运行效果图 ? ① API地址 和风天气有这方面的API,白嫖侠申请出战!地址如下 https://search.heweather.net/top? > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com ⑤ 热门城市的天气信息展示 这里就需要创建一个新的页面了,因为我希望区别于MainActivity的样式。 ?

    26720

    Android 天气APP(十七)热门城市 - 国内城市

    正文 ① 修改API 在ApiService中修改hotCity这个接口,将固定地址里面的group分离出来,作为请求参数。 > <LinearLayout xmlns: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 > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com

    31020

    扫码关注腾讯云开发者

    领取腾讯云代金券