您好我一直在尝试解码json文件中的图片网址。图像放在assets文件夹中,图像名称在json文件中以名称:
给出offlineImageUri:" startachannel.jpg"
从资产加载位图图像的功能如下:
public Bitmap loadBitmapFromAssets(Context context, String path) {
InputStream stream = null;
try {
stream = context.getAssets().open(path);
return BitmapFactory.decodeStream(stream);
} catch (Exception ignored) {
} finally {
try {
if (stream != null) {
stream.close();
}
} catch (Exception ignored) {
}
}
return null;
}
以下是在 onResponse 中显示位图图像的代码。我的网络图像视图正在从服务器加载图像,并且工作正常,但是当用户离线时, onErrorResponse 中的图像视图不显示任何图像。我认为问题在于我解码位图图像。
mImageLoader = Volley.getInstance(mContext).getImageLoader();
mImageLoader.get(mUrl, new ImageLoader.ImageListener() {
@Override
public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) {
mNetworkImageView.setImageUrl(mUrl, mImageLoader);
}
@Override
public void onErrorResponse(VolleyError error) {
Bitmap m = loadBitmapFromAssets(mContext, mMethod.contents.offlineImageUri);
mImageView.setImageBitmap(m);
mNetworkImageView.setVisibility(View.GONE);
mImageView.setVisibility(View.VISIBLE);
}
});
以下是res layout.xml中使用的图像视图标记
<ImageView
android:id="@+id/offlineImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:adjustViewBounds="true"
android:visibility="gone"></ImageView>