在android中从服务器显示图像的最佳方式

时间:2013-05-15 07:20:08

标签: android imageview

我正在尝试在android中显示图像。需要从服务器获取图像。什么应该是确保存储在服务器上的图像适合所有Android设备屏幕的最佳方法。在显示XML的图像中,我还需要显示文本视图(在图像下方),以便给出关于图像的简要描述。我是否必须创建具有特定高度和宽度的图像,还是有其他方法?

2 个答案:

答案 0 :(得分:1)

您应该在服务器上存储足够大的图像。

// Know the required width of the image
URL url = new URL(remotePath);
URLConnection urlConnection = url.openConnection();
urlConnection.connect();
inputStream = (InputStream) urlConnection.getContent();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(inputStream, options);
int height = options.outHeight;
int width = options.outWidth;
int sampleSize = requiredWidth / width; // Calculate how you want to sample the images so you can keep the memory small
options.inSampleSize = sampleSize;
options.inJustDecodeBounds = false;
Bitmap bitmap = BitmapFactory.decodeStream(inputStream, options);
imageView.setImageBitmap(bitmap);

希望这有帮助。

答案 1 :(得分:0)

如果您只想在该屏幕上显示其下方的图片和说明,您可以将2个组件放置在LinearLayout的方向垂直,并使用{{1}的layout_weight属性例如,你可以这样做:

LinearLayout

您可以手动从服务器下载图片,也可以使用UILwebImageLoader等库。