七牛异步上传多张图片问题:请问怎么判断图片上传异步线程全部执行完毕,拿到所有的图片地址后,再上传urllist到服务器?
请问怎么判断图片上传异步线程全部执行完毕,拿到所有的图片地址后,再上传urllist到服务器?
//首先遍历上传图片
private void UploadReportProblemsPhoto() {
for (int i = 0; i < list.size(); i++) {
Bitmap bitmap;
bitmap = PhotoUtils
.revitionImageSize(Files.photoPath + list.get(i));
uploadImg(PhotoUtils.setDateBitmap(bitmap));
}
// 上传完图片,拿到urlList,再上传数据
// UploadReportProblemsDate();
}
/*
* 上传图片到七牛
*/
private void uploadImg(final Bitmap bitmap) {
new Thread(new Runnable() {
private String shopId = "0110074";
private String userId = "669";
private String reportType = "WT";
@Override
public void run() {
// 获得七牛上传凭证uploadToken
String token = PhotoUtils.getUploadToken();
Log.i("qiniu_token", token + "");
if (token != null) {
// 图片名称为当前日期+随机数生成
String key = PhotoUtils.getFileUrlUUID(shopId, userId,
reportType);
UploadManager uploadManager = new UploadManager();
uploadManager.put(PhotoUtils.Bitmap2Bytes(bitmap), key,
token, new UpCompletionHandler() {
@Override
public void complete(
String arg0,
com.qiniu.android.http.ResponseInfo info,
JSONObject response) {
if (null != response) {
Log.i("qiniu-url", response.toString());
String json = response.toString();
BaseBean mTokenBean = PhotoUtils
.parseTokenData(json);
// 解析出返回的token
if (null != mTokenBean
&& "0".equals(mTokenBean
.getRet())) {
String url = PhotoUtils
.getRealUrl(mTokenBean
.getRetInfo());
urlList.add(url);
Log.e(TAG,
"mTokenBean.getRetInfo()="
+ mTokenBean
.getRetInfo());
}
}
}
}, null);
} else {
Log.i("fail", "上传失败");
}
}
}).start();
}