Eyl 15

Android Galeri’den Seçilen Fotoğrafı ImageView’da Gösterme

Merhaba arkadaşlar bu yazımda Android’de galeriden seçtiğimiz fotoğrafı imageview içerisinde nasıl göstereceğiz ondan bahsedeceğim. Daha önceki yazılarımda kamera ile çekip imageview’da nasıl göstereceğimizi anlatmıştım. Bugünse aynı işlemi galeriden seçerek yapacağız. ‘Galeriden Seç’ isimli bir butonumuz olsun ve onClickListener Fonksiyonunu varsayıp kodumuzu ekleyelim.

Intent galleryIntent = new Intent(Intent.ACTION_PICK,
        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(galleryIntent, RESULT_LOAD_IMG);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
try {
    if (requestCode == RESULT_LOAD_IMG && resultCode == RESULT_OK
            && null != data) {
        Uri selectedImage = data.getData();
        String[] filePathColumn = { MediaStore.Images.Media.DATA };
        Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();
        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        imgDecodableString = cursor.getString(columnIndex);
        cursor.close();
        ImageView imgView = (ImageView) findViewById(R.id.fotograf);
        imgView.setImageBitmap(BitmapFactory
                .decodeFile(imgDecodableString));
        String s = getRealPathFromURI(selectedImage);
        File newFile=new File(s);
        path=newFile.getAbsolutePath();
    } else {
        Toast.makeText(this, "Resim seçmediniz.",
                Toast.LENGTH_LONG).show();
    }
} catch (Exception e) {
    Toast.makeText(this, "Resim seçilirken hata oluştu.", Toast.LENGTH_LONG)
            .show();
}
}

Buna ek olarak resmin yolunu da öğrenmek için aşağıdaki fonksiyonu kullandım.

public String getRealPathFromURI(Uri uri) {
    String[] projection = { MediaStore.Images.Media.DATA };
    @SuppressWarnings("deprecation")
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    int column_index = cursor
            .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
}

Takipte kalın 😉

Bir Cevap Yazın