20 Kasım 2011 Pazar

Android'de İnternetteki Bir Resmin Gösterimi

Android'de ImageView'a internetteki bir resmi atamak geliştiriciler için sorun teşkil edebiliyor. Çünkü ImageView'a direk olarak bir resim url'i verilemiyor, sadece projenizin içinde bulunan resimler atanabiliyor. Bu sorunun çözümü için aşağıdaki metod işinize yarayacaktır.
private Drawable LoadImageFromWebOperations(String url)
{
    try
    {
        InputStream is = (InputStream) new URL(url).getContent();
        Drawable d = Drawable.createFromStream(is, "src name");
        return d;
    }
    catch (Exception e) 
    {
         return null;
    }
}

Gördüğünüz üzere metod String objesi alıyor, Drawable objesi dönüyor. Bu noktadan sonra yapmamız gereken şey elimizdeki Drawable objemizi ImageView'ımıza atamak. Bu işlemi OnCreate metodunda gerçekleştirmemiz gerekmektedir.
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ImageView imageview = (ImageView) findViewById(R.id.imageView1);
    Drawable drawable = LoadImageFromWebOperations("http://www.google.com/image01.png");
    imageview.setImageDrawable(drawable);
}

Böylelikle internette herhangi bir resmi ImageView'ınızdan gösterebilirsiniz. Aynı işlemi ImageButton içinde gerçekleştirebilirsiniz.