目的:使用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型