2017-06-30 15 views
0

私は表示用にURLから画像を取得しようとしており、携帯電話の外部ストレージに保存したいと考えています。私はエラーを取得していないだけでなく、イメージがディスクに保存されていない、なぜですか?私は取得していません。それは非常に小さな問題かもしれないが、私はアンドロイドアプリを作るために非常に初心者ですので、私に何をする必要がありますか提案を与えてください。私はピカソで外部ストレージに画像を保存しようとしています

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.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath() +"/image.jpg"); 
      try 
      { 
       file.createNewFile(); 
       FileOutputStream ostream = new FileOutputStream(file); 
       bitmap.compress(CompressFormat.JPEG, 75, ostream); 
       ostream.close(); 
      } 
      catch (Exception e) 
      { 
       e.printStackTrace(); 
      } 
     } 
    }).start(); 
} 
@Override 
public void onBitmapFailed(Drawable errorDrawable) { 
} 
@Override 
public void onPrepareLoad(Drawable placeHolderDrawable) { 
    if (placeHolderDrawable != null) { 
    } 
} 
}; 
+0

write_external_storageの許可を求めるコードを追加しましたか? –

+0

はい...パーミッションを追加しましたが、まだ動作していません.. –

+0

アンドロイド版を使用していますか? –

答えて

0

は、実行時のアクセス許可を要求---->

Picasso.with(this).load(currentUrl) 
//.error(R.drawable.error_detail) 
.into(imageView, new EmptyCallback() { 
    @Override public void onSuccess() { 
     progressBar.setVisibility(View.GONE); 
    } 
    @Override 
    public void onError() { 
     progressBar.setVisibility(View.GONE); 
    } 
}); 

Picasso.with(this) 
     .load(currentUrl) 
     .into(target); 

ターゲットクラスは、このようなものです....二回、このようなピカソを呼び出しています

ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 1); 

チェック文書 https://developer.android.com/training/permissions/requesting.html

+0

解決してくれてありがとう....はい私の問題は解決しました。 –

関連する問題