Soru & Cevap

Android Studio Dosyaları sdcarta Kopyalama

18.11.2015 - 06:14

Uygulamamın içinde 10 adet imagebutton bulunuyor ve herbirine basıldığında drawable klasöründe bulunan o butona atadığım resimleri ve dosyaları sdcard/download klasörünün içine kopyalanmasını istiyorum.

İnternette çok az makale var ve hiçbirinin 1 den fazla button desteği yok.

Yardımlarınızı bekliyorum...

86 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-1016-1447848746.jpg
HuseyinOzer
18.11.2015 - 09:58

Merhaba Ferhat,

Aradığın kodu yazıp test ettim sanırım tam olarak istediğin şeyde bu.


ImageButton imageButton = (ImageButton)findViewById(R.id.imageButton1);

try {
    //imagebuttona atanmış olan drawable'ı alıp BitmapDrawable'a cast ediyorum.
    BitmapDrawable bitmapDrawable = (BitmapDrawable)imageButton.getDrawable();
    //bitmapDrawable'dan bitmap'i çekiyorum.
    Bitmap bmp = bitmapDrawable.getBitmap();

    //sd kart üzerinde download klasörüne yol gösteriyorum 
    //ve eğer klasör yok ise mkdirs ile oluşturuyorum
    File dir = new File(Environment.getExternalStorageDirectory(), "download/");
    if(!dir.exists())
        dir.mkdirs();
    
    //download klasörünün altına resimadi.png adında boş bi dosya oluşturdum.
    File file = new File(dir, "resimadi.png");
    FileOutputStream fOut = new FileOutputStream(file);

    //dosyaya bitmap'i yazdım kaydettim kapadım ve işlem tamam.
    bmp.compress(Bitmap.CompressFormat.PNG, 85, fOut);
    fOut.flush();
    fOut.close();

} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

 

Sonuç:

Görsel kaldırıldı.

Kolay gelsin.

Ferhat Bostancı
19.11.2015 - 05:12
Hocam resimlerin orjinal boyutu bozuluyor buda kullanıma engel oluyor. Direkt kopyalama yolu yokmu acaba üstüne yazmak yerine.