Android | base64 encoded resim verisini imageView'da görüntüleme

Written by Super User. Posted in Android Yardımcı Kodlar

Önceki Link'teki yazımda bir image dosyasını PHP'de base64 olarak nasıl encode edebileceğimizden bahsetmiştim. Şimdi bu encode edilmiş resim verimizi Android client'ımızda decode edip, bir ImageView'da nasıl gösterebileceğimizi küçük bir kod parçası yardımıyla göstereceğim.

PHP ile istediğim verileri JSON olarak bana sunan servisimi oluşturup, bu verileri Android client'la alıp kullanabileceğim hâle getirdim. Tüm bu aşamaları da baştan sona müsait bir vaktimde yazmayı düşünüyorum. Alttaki kodlarda ytData.get(6) servisimizden gelen, bizim resmimizin encode edilmiş verisini tutuyor.

//Encoded verimizi alıp String bir değişkene atıyoruz.
String encodedImage = ytData.get(6);
//encodedImage stringimizden decodedString değişkenimizi elde ediyoruz.
byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
//decodedString değişkenimizi kullanarak Bitmap'imizi oluşturuyoruz.
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
//ImageView kaynağımızı erişip iv değişkenimize bağlıyoruz.
ImageView iv = (ImageView) this.findViewById(R.id.imageView1);
//Bitmap'imizi drawable haline getirip, imageview'ımıza arkaplan olarak veriyoruz.
Drawable d =new BitmapDrawable(decodedByte);
iv.setBackgroundDrawable(d);

Alttaki şekildeki gibi resmimizi artık görüntüleyebiliyoruz.