所以我實現了畢加索,所以我可以下載圖像並將它們保存在SD卡車上,所以當我想要我可以在程序中使用它們。只需去一次目標,它應該去4次。畢加索/目標
我有一個for
循環:
for (int i = 0; i < listaProdutos.size(); i++) {
caminho =listaProdutos.get(i).getImagem();
Picasso.with(getApplicationContext()).load("URL"+listaProdutos.get(i).getImagem()).into(target);
}
但我只是進入目標一旦及其對循環中的最後一個,
目標代碼:
private Target target = new Target() {
@Override
public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
//new Thread(new Runnable() {
//@Override
//public void run() {
/*
File file = new File(Environment.getExternalStorageDirectory().getAbsoluteFile(),caminho);
try
{
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 75, ostream);
ostream.close();
}
catch (Exception e)
{
e.printStackTrace();
}*/
try {
verifyStoragePermissions(AtividadePrincipal.this);
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/imagensDaApp");
myDir = new File(myDir, caminho);
if (!myDir.exists()) {
myDir.getParentFile().mkdirs();
//myDir.createNewFile();
}
FileOutputStream out = null;
out = new FileOutputStream(myDir);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//}
//}).start();
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
if (placeHolderDrawable != null) {
}
}
};
我評論了線程,因爲它有或沒有做同樣的事情,如果你想不能取消註釋。
我已經搜尋了它,但我無法找到任何問題的答案,所有的網址都可以!
我一直這樣做了3天,並保持不變。
YES listaProdutos.size()= 4; 和所有的網址都可以!
如果你不明白這個問題,請說。
我認爲畢加索本身可以過濾具有重複目標的請求。你必須創建4個目標實例來做你想要的 –
@VladMatvienko,但在這種情況下是4,但也許用戶想要添加5或6,我不知道會有多少 –
你需要創建新的目標在週期內。這樣你就可以創建儘可能多的你需要的東西。 –