首页 > 编程知识 正文

android添加背景片,android背景片

时间:2023-05-04 14:29:46 阅读:197310 作者:1492

微软必应每天都会更新一张很美的图片作为网站的背景,拿来做启动页背景也是美美哒。 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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。