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

  • 文末

前言

===============================================================

为了增强用户的体验,所以增加了这个每日弹窗,每日弹窗顾名思义,每天弹出一次,就不再弹窗,当然如果用户觉得烦的话,可以在弹窗中勾选上不再弹窗,或者在应用设置中,关闭每日弹窗都是可以的。下面来写这个功能。


正文

===============================================================

说到弹窗我就想起来我之前的应用更新弹窗那一篇文章了,那么这个功能怎么来写呢?其实也不难,首先想清楚这个弹窗要什么东西。

① 是弹窗的背景,我希望每一天都不一样,那么就可以采用必应的每日一图。

② 弹窗可关闭不再弹出,可以通过缓存的方式判断处理,

③ 弹窗上面显示的值,可以通过主页面其它接口先获取到返回值,然后在弹窗中显示,

④ 每日只弹出一次,这个就是要在每日弹出弹窗时,存储一个时间戳缓存,后面再进入APP时判断时间大小就可以了。

这么一看,目标就明确了,下面进入实操环节。

一、弹窗背景


还记得之前我在写壁纸页面的时候,把必应的请求放到壁纸管理页面了,那么主页面就没有请求了,而我又需要这个请求获取每日的壁纸url。所以在欢迎页面新增了一个请求。

打开SplashContract,新增如下代码:

/**

  • 获取必应 每日一图

*/

public void biying() {

ApiService service = ServiceGenerator.createService(ApiService.class, 1);

service.biying().enqueue(new NetCallBack() {

@Override

public void onSuccess(Call call, Response response) {

if (getView() != null) {

getView().getBiYingResult(response);

}

}

@Override

public void onFailed() {

if (getView() != null) {

getView().getDataFailed();

}

}

});

}

/**

  • 获取必应每日一图返回

  • @param response BiYingImgResponse

*/

void getBiYingResult(Response response);

增加位置如下:

在这里插入图片描述

然后进入SplashActivity,重写getBiYingResult方法,代码如下:

/**

  • 必应壁纸数据返回

  • @param response BiYingImgResponse

*/

@Override

public void getBiYingResult(Response response) {

if (response.body().getImages() != null) {

//得到的图片地址是没有前缀的,所以加上前缀否则显示不出来

String biyingUrl = “http://cn.bing.com” + response.body().getImages().get(0).getUrl();

SPUtils.putString(Constant.EVERYDAY_TIP_IMG,biyingUrl,context);

} else {

ToastUtils.showSho

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值