Android Görsel Uzantısını Bulma

Merhaba arkadaşlar bu yazıda android galerideki görselin yada seçilen uri den  görselin uzantısını androidde MIME_TYPE ile bulan kodu göstericem.

Cursor cursor = getContentResolver().query(selectedImageURI, projection, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(projection[1]);
String imageExtension = cursor.getString(columnIndex);

Koddaki selectedImageURIcontent://com.android.providers.media.documents/document/image:34 şeklinde gelen bir uri olacaktır. Tabii ki emülatör kullanıyorsanız benim gibi 😀  ama android cihazda da aynı tipte veri gelir. Gördüğünüz üzere gelen uri de jpeg, jpg, gif veya png gibi bilgi söz konusu olmadığı için string.substring(string.indexOf(“image”)) gibi string veriyi ayırma şeklinde yapamazsınız.

projection : { android.provider.MediaStore.Images.Media.DATA, MediaStore.MediaColumns.MIME_TYPE } şeklinde bir diziyi içerir. Bize gerekli olan projection dizisinin 1. dizinidir, MIME_TYPE. Image.Media.DATA bizim android cihazımızdaki görsellere ulaşmamızı, MIME _TYPE da uzantısına ulaşmamızı sağlar.

int columnIndex’te görsel içeriği olan “content://com.android…” string urisinin cihazdaki adına ulaşıyoruz. Sonraki satırdaki int değere sahip olan uzantıyı string e çevirip imageExtension ismindeki String tipindeki değişkenimize atıyoruz.

Bundan sonra isterseniz log da yazdırın kendiniz debug yaparken görsellerin uzantılarına bakarsınız isterseniz Toast ile kullanıcının seçtiği görselin uzantısı bilgisini kullanıcıya verin. Size kalmış, kolay gelsin gençler ;D