Android使用每日必应美图作为启动页背景图片
来源:互联网 发布:金和网络 陈耀泉 编辑:程序博客网 时间:2024/05/24 06:38
微软必应每天都会更新一张很美的图片作为网站的背景,拿来做启动页背景也是美美哒。
1.准备工作
网络请求:OKHttp
图片加载:Picasso
每日必应图片数据的获取,访问这个网址就可以获取到每日的json数据。
http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
{ "images": [ { "startdate": "20170305", "fullstartdate": "201703051600", "enddate": "20170306", "url": "/az/hprichbg/rb/SteepSheep_ZH-CN8716398488_1920x1080.jpg", "urlbase": "/az/hprichbg/rb/SteepSheep_ZH-CN8716398488", "copyright": "瓦莱黑鼻羊,瑞士瓦莱州 (© Alessandra Meniconzi/Solent News/REX/Shutterstock)", "copyrightlink": "http://www.bing.com/search?q=%E9%BB%91%E9%BC%BB%E7%BE%8A&form=hpcapt&mkt=zh-cn", "quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20170305_SteepSheep%22&FORM=HPQUIZ", "wp": true, "hsh": "c737af458c5e07aa3fc472220d828ec9", "drk": 1, "top": 1, "bot": 1, "hs": [] } ], "tooltips": { "loading": "正在加载...", "previous": "上一个图像", "next": "下一个图像", "walle": "此图片不能下载用作壁纸。", "walls": "下载今日美图。仅限用作桌面壁纸。" }}
可以比较清楚的看到,images标签下的url正式图片的请求的地址,利用JsonObject可以轻松提取到数据。可以看到图片分辨率为1920x1080的,满足了大部分的需求。
/** * 解析json数据 * @param data * @return */ private String resolveData(String data) { String url = ""; try { JSONArray jsonArray = new JSONObject(data).getJSONArray("images"); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = (JSONObject) jsonArray.get(i); if (jsonObject.has("url")) { url = jsonObject.getString("url"); } } } catch (JSONException e) { e.printStackTrace(); } return url; }
2.示例工程
目录结构:
模仿使用MVP框架模式,这里不做介绍。
V层,新建StartActivity,实现IStartView接口。
P层,负责倒计时,逻辑控制
M层,请求数据,解析数据
几处关键的方法:
P层计时:
/** * 倒计时 * * @param time 隔几秒进入主界面 */ private void countDown(int time) { Timer timer = new Timer(true); TimerTask timerTask = new TimerTask() { @Override public void run() { iStartModel.cancelRequest(); iStartView.goMainActivity(); } }; //time秒之后执行取消请求数据操作,跳转到主界面 timer.schedule(timerTask, time); }
@Override public void getData() { if (NetUtil.isConnected()) { countDown(3500); iStartModel.requsetData(new LocalImageCallback() { @Override public void success(String url) { iStartView.showStartInfo(url); } @Override public void fail(String msg) { } }); } else { //当前无网络,可以提示用户打开设置,或者直接进入主界面。 countDown(1000); } }
对源码感兴趣的请访问:点击打开链接
本文地址:http://blog.csdn.net/prodigalwang/article/details/60599754
0 0
- Android使用每日必应美图作为启动页背景图片
- IE6使用png作为背景图片
- Android启动过程中背景图片显示
- Android启动过程中背景图片显示
- Android启动过程中背景图片显示
- Android启动过程中背景图片显示
- Android启动过程中背景图片显示
- android软件启动:多张背景图片形成动画效果启动
- android软件启动方式:一张背景图片启动软件
- Android 控件背景图片和imagebutton的使用
- Android让一个apk作为Launcher启动
- 使用NFS作为根文件系统来启动
- 用JSON获取Bing每日背景图片
- android使用另一个Android项目作为library
- Android Studio 设置代码页的背景图片
- [每日问答]逻辑回归为什么使用Sigmod作为激活函数?
- HTML Button 背景图片样式作为按钮显示
- Android 控件背景图片和imagebutton的使用(selector)
- 仿《雷霆战机》飞行射击手游开发--新手引导
- 百练_2888字符串中的数字
- 使用sql语句创建数据库和表
- 分析Dexhunter
- jquery.tiptext.js 文本框、文本域文字提示工具
- Android使用每日必应美图作为启动页背景图片
- IOS开发学习笔记之数据存储
- ACM最短路问题
- iOS图片查看滚动放大缩小
- 深度学习(8):Supervised Learning
- 蓝桥杯 历届试题 PREV-12 危险系数 并查集找割点 Java
- 基于Highcharts的图表绘制
- Windows下opencv在vs2013的配置及小测试
- java__加一。数组内存放了一些个位数字,组成一个大数(从高位到低位),现在将这个数加 11,并输出加一以后的结果。