从远程服务器问题获取图像

时间:2012-10-20 22:44:52

标签: java android

只需要两件事,这是一种抓住图像的简单方法吗?当我在Android AVD上尝试它时,屏幕上和log_cat中都没有显示任何内容,没有错误或崩溃。这是我的代码:

public class MainActivity extends Activity {
Bitmap bitmap = null;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    try{
        bitmap = getBitmap("https://twimg0-a.akamaihd.net/profile_images/2275552571/image_normal.jpg");
        ImageView img = (ImageView) findViewById(R.id.img);
        img.setImageBitmap(bitmap);
    }catch(Exception e){

    }

}

public Bitmap getBitmap(String bitmapUrl) { 

              try {

                URL url = new URL(bitmapUrl);

                return BitmapFactory.decodeStream(url.openConnection().getInputStream());

              }catch(Exception ex) {return null;}

            }


 }

2 个答案:

答案 0 :(得分:1)

尝试:http://code.google.com/p/android-imagedownloader/

您可以同步,异步等下载远程图像。它的效果非常好

    ImageDownloader imageDownloader = new ImageDownloader();
    imageDownloader.setMode(ImageDownloader.Mode.CORRECT);
    ImageView imageView = (ImageView) rowView.findViewById(R.id.picture);

    imageView.setLayoutParams(new GridView.LayoutParams(140, 140));
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    imageView.setPadding(4, 4, 4, 4);

    List<ImageSize> images = this.pictures.get(position).getImages();

    imageDownloader.download(images.get(images.size()-3).getSource(), imageView);

答案 1 :(得分:0)

它不起作用,因为您的图片的网址以 HTTPS 开头。尝试使用 HttpGet 。类似于that