[Android][Volley] ImageRequestを使用していた箇所がDeprecatedになっていた
Androidアプリ用のネットワークライブラリとしてメジャーで使いやすいVolley。
相変わらず、お世話になっています。
URLの先の画像を取得する実装をImageRequestを使用していたのですが、警告出ているなと思ったらDeprecatedになっていた。
以下のように実装していました。
http://developer.android.com/intl/ja/training/volley/request.html
あれ、非推奨なのと思って回避策を調べていたら以下と同じだった。
http://stackoverflow.com/questions/33271864/android-volley-imagerequest-deprecated
なるほど、ImageRequestのクラスは非推奨ではなく、該当のコンストラクタが非推奨になっただけなので、コンストラクタをscaleTypeを追加したものに変更すればOKでした。
Volleyの中を見ると、ImageRequest内でScaleType.CENTER_INSIDEを指定してScaleType付きコンストラクタを呼び出しているので、前と同じ実装するのであれば、以下のように実装すればOK。
無事解決です!
相変わらず、お世話になっています。
URLの先の画像を取得する実装をImageRequestを使用していたのですが、警告出ているなと思ったらDeprecatedになっていた。
以下のように実装していました。
http://developer.android.com/intl/ja/training/volley/request.html
ImageRequest request = new ImageRequest(url,
new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap bitmap) {
mImageView.setImageBitmap(bitmap);
}
}, 0, 0, null,
new Response.ErrorListener() {
public void onErrorResponse(VolleyError error) {
mImageView.setImageResource(R.drawable.image_load_error);
}
});
あれ、非推奨なのと思って回避策を調べていたら以下と同じだった。
http://stackoverflow.com/questions/33271864/android-volley-imagerequest-deprecated
なるほど、ImageRequestのクラスは非推奨ではなく、該当のコンストラクタが非推奨になっただけなので、コンストラクタをscaleTypeを追加したものに変更すればOKでした。
Volleyの中を見ると、ImageRequest内でScaleType.CENTER_INSIDEを指定してScaleType付きコンストラクタを呼び出しているので、前と同じ実装するのであれば、以下のように実装すればOK。
ImageRequest request = new ImageRequest(url,
new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap bitmap) {
mImageView.setImageBitmap(bitmap);
}
}, 0, 0, ScaleType.CENTER_INSIDE, null,
new Response.ErrorListener() {
public void onErrorResponse(VolleyError error) {
mImageView.setImageResource(R.drawable.image_load_error);
}
});
無事解決です!
コメントの投稿
ImageRequestコンストラクタの引数について
参考になりました。
一点、解決策側のサンプルコードで、CENTER_INSIDE と nullの間のカンマが抜けているように思います。
一点、解決策側のサンプルコードで、CENTER_INSIDE と nullの間のカンマが抜けているように思います。
コメントありがとうございます。
> rashikun1491さん
指摘ありがとうございます。
カンマ抜けてましたので修正しました。
指摘ありがとうございます。
カンマ抜けてましたので修正しました。