2016-04-08 12 views
1

Picassoの新しいバージョンです。私はピカソを使用してAndroidアプリにAWS(特にS3)に保存されている画像を読み込もうとしていますが、私のログカットにはエラーのない空白の画像が表示され、関連するコード行の一般的なデバッグではわかりません。AWS from Picassoの画像ファイルを読み込む

イメージは開発モードで公開されているAWSに保存されているので、ログインなどの問題であってはいけません。私のマニフェストではインターネットアクセス権も有効になっています。

インターネットにランダムな画像リンクを保存するとコードが機能しているようですが、ブラウザを使用してそのリンクに移動すると、その画像だけが表示されるページが開きます。ただし、S3のデータベースは、そのようなページを表示する代わりにファイルを自動ダウンロードするように設定されています。多分それが私の問題の原因ですか?ここで

は(私がAWSLinkでAWSに私の本当のリンクを代入していますが、私の実際のコードは、実際のリンクを使用しています注意してください)私のコードの2つのバージョンではない、どちらもAWS上で私のイメージのために働いています

バージョン1

mApartmentImageView = (ImageView) v.findViewById(R.id.details_page_apartment_picture); 
Picasso.with(getActivity()).load("//AWSLink.jpg").into(mApartmentImageView); 

バージョン2(ファイルの自動ダウンロードを占めるしようとする)

mApartmentImageView = (ImageView) v.findViewById(R.id.details_page_apartment_picture); 
String path = "//AWSLink.jpg"; 
Picasso.with(getActivity()).load(new File(path)).into(mApartmentImageView); 

答えて

0

文字列のパス= "//AWSLink.jpg"。 パスは有効ではありません。適切なパスとチェックを使用してください。

ピカソにはコールバックがあり、それらを使用してチェックします。

Picasso.with(getActivity()).load(new File(path)).into(mApartmentImageView, new Callback() { 
     @Override 
     public void onSuccess() { 

     } 

     @Override 
     public void onError() { 
     } 
    }); 

これまでに、適切なファイルパスを渡してください。ブラウザでファイルパスをヒットしてください。パスがイメージを与えている場合は、ロードメソッドのパラメータとして使用してください。

Picasso picasso = new Picasso.Builder(getContext()) 
     .listener(new Picasso.Listener() { 
      @Override 
      public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) { 
       //Here your log 
      } 
     }) 
     .build(); picasso.load(new File(path)).into(mApartmentImageView); 
+0

リンクを修正してください。実際のリンクではなく、ダミーリンク。間違った質問ですが、私はonErrorすなわちLog.eなどのエラーログをすべきでしょうか? – Noobprogrammer

+0

あなたが例外をチェックしたいのであれば、リスナーを使って見つけることができます。コードを修正しました。それを確認してください。 –

+0

実際に画像を読み込めません。それでも、URL /ファイルパスがjpgを自動的にダウンロードするという事実と関連しなければならないと考えているのは、このリンクのようにイメージだけのページを表示するのではなく、//http://square.github.io/picasso/static/です。 debug.png – Noobprogrammer