
效果如上图
本应用源码已公开,发布在OSC@git上面
今天主要讲解如何通过百度图片搜索去获取图片。
看到有很多人做音乐播放器,都不知道怎么在线搜索音乐的专辑图片,这里我提供一种网络搜索的方法:
首先,你需要知道的是百度图片搜索的接口 http://image.baidu.com/i?tn=baiduimagejson&ie=utf-8&ic=0&rn=20&pn=1&word=XXX 谷歌也有同样的接口,但好像在国内连通率不是很高,具体接口地址大家自行搜索。
打开接口以后,我们可以看到有非常多的图片链接

不过很多都是没有用(与其说是没有用,不如说是不知道怎么用,反正不是正常能访问的),我们所能用的仅仅是objURL所对应的值,这个链接才是可以使用的。
这里,顺便说一句,在解析这个json数据的时候,没有必要全部解析出来,因为我们所需要的就只有objURL而已,这里写一个我的解析方法:
//参数i表示需要第几张图片
public static String ParserMusicImg(Context context,String xml, int i) {
String imgUrl = xml;
for (int count = 0; count <= i; count++) {
int begin = 0, end = 0;
begin = xml.indexOf("\"objURL\":\"") + 10;
end = xml.indexOf("\"", begin);
if (begin < 0 || end < 0) {
ErrHandleUtils.sendErrInfo(context, "没有更多图片了");
break;
} else {
imgUrl = xml.substring(begin, end);
}
xml = xml.substring(end);
}
return imgUrl;
}
接下来,拿到了图片的地址,我们只需要调用一个http请求去获取到这张图片,并显示出来就行了。
顺便提一句:在显示的时候一定小心oom异常,因为网络图片直接获取,谁也不知道是一张多大的图片,万一几张几兆的图片直接加到内存,喔,OutOfMemory。。。。。
本文介绍如何利用百度图片搜索接口获取图片,详细解析了从接口返回的JSON数据中提取可用图片链接的方法,并提供了代码示例。同时,提醒开发者在处理网络图片时要注意避免OOM异常。

被折叠的 条评论
为什么被折叠?



