目的:使用bmob后用bmob存储头像或者别的图片感觉挺方便,最近做一个动态页面,类似于QQ中的说说,可以文字,可以添加图片。
想法:我的想法是查询的时候下载图片获取图片地址,存到集合中,然后显示到ListView中。
下载代码:
// 下载图片
BmobFile icon = dynamic.getDynamicPicture(); //dynamic.getDynamicPicture()为原实体类中图片文件
icon.download(CircleDynamicActivity.this,new DownloadFileListener() {
@Override
public void onSuccess(String img_url) {
info.setDynamicPictureUrl(img_url); //info为想要保存的集合对应的实体类,保存的为图片地址
}
@Override
public void onFailure(int arg0,
String arg1) {
}
});
问题:但是后来发现个问题,图片一直不能显示,后来使用log输出,发现了个问题,就是先执行了配置适配器,然后过了三秒钟进行图片下载,所以说图片在下载完获取到地址,也不能保存进行显示了,请教大神后才明白, bmob中的下载是自己开辟了一个子线程,因为下载耗时,所以先执行了主线程的配置适配器,子线程的下载执行慢。困扰了一天,一直不知道怎么解决。
解决:后来也是请教的,知道想要获取bmob中图片不用下载,可以直接获取图片地址,所以图片下载这一步就省略了。
img_url = dynamic.getDynamicPicture().getUrl(); //dynamic.getDynamicPicture()为原实体类中图片文件,img_url为String型