/*在一个循环里面连续下载网络图片到本地,比如循环三次,但结果是只下载到一张图片。 问题的根源是,图片太大。因为在三张图片都很小的情况下,三张图片均可下载完成。 后来改用了okhttpUtils(鸿洋)来实现连续多次下载网络图片。 */ for (Diagrams diagrams : all) { download(diagrams.getFileUrl()); }
//Todo 使用Picasa下载图片到本地private void download(final String url) { Target target = new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { loadPcTimes = loadPcTimes + 1; final File dcimFile = FileUtils.createImgFile(ProjectActivity.this); FileOutputStream ostream = null; try { ostream = new FileOutputStream(dcimFile); bitmap.compress(Bitmap.CompressFormat.PNG, 100, ostream); ostream.close(); } catch (Exception e) { e.printStackTrace(); } Toast.makeText(ProjectActivity.this, "图片下载至:" + dcimFile, Toast.LENGTH_SHORT).show(); new Thread(new Runnable() { @Override public void run() { ContentValues values = new ContentValues(); values.put("localurl", dcimFile.getAbsolutePath()); DataSupport.updateAll(Diagrams.class, values, "fileurl=?", url); } }).start(); // if (diagramSize == loadPcTimes) { // // } } @Override public void onBitmapFailed(Drawable errorDrawable) { Log.e("zz", ""); } @Override public void onPrepareLoad(Drawable placeHolderDrawable) { Log.e("zz", ""); } }; //Picasso下载 picasso.load(url).into(target); Log.e("zz", ""); }
使用Picasso下载图片时的错误
最新推荐文章于 2022-02-14 11:08:36 发布