2016-04-03 14 views
0

Bu yöntemi, bitmap dosyama dönüştürmek için kullanıyorum ve bu görüntüleri uri'yi veri tabanına yerleştiriyorum. ama bu klasörü "my_app" dozunun galeride gösterilmesini istiyorum. ben ne yaparım?! Herhangi bir çözüm, ortam kullanılmıyor mu ?! Bunun yerineUygulama resimlerimi galeriden gizle (kullanım amacı .nomedia)

File file = new File(Environment.getExternalStorageDirectory()+"/my_app/"); 

kullanacağım

File file = new File(getFilesDir()+"/my_app/"); 

kullanmanın

public File bitmapConvertToFile(Bitmap bitmap){ 
    FileOutputStream fileOutputStream = null; 
    File bitmapFile = null; 
    try { 
      File file = new File(Environment.getExternalStorageDirectory()+"/my_app/"); 
     if (!file.exists()){ 
      file.mkdir(); 
     } 
     bitmapFile = new File(Environment.getExternalStorageDirectory()+"/my_app/"+"today_picture.jpg"); 
     fileOutputStream = new FileOutputStream(bitmapFile); 
     bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fileOutputStream); 
     MediaScannerConnection.scanFile(this, new String[]{bitmapFile.getAbsolutePath()}, null, new MediaScannerConnection.MediaScannerConnectionClient() { 
      @Override 
      public void onMediaScannerConnected() { 

      } 

      @Override 
      public void onScanCompleted(String path, Uri uri) { 
       runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         Toast.makeText(CropImage.this,"saved", Toast.LENGTH_LONG).show(); 
        } 
       }); 
      } 
     }); 
    } 
    catch (Exception e){ 
     e.printStackTrace(); 
    } 
    finally { 
     if (fileOutputStream != null){ 
      try { 
       fileOutputStream.flush(); 
       fileOutputStream.close(); 
      } 
      catch (Exception e){ 

      } 
     } 
    } 
    return bitmapFile; 
} 

cevap

1

ne yapar o senin dışında başka bir uygulama tarafından erişilemez böylece uygulaması açıkken dosyayı kaydeder olduğunu.

Dolayısıyla sizin bimap dosyası dahili depolama alanındaki pic kaydetmek gerekir Bunun için

bitmapFile = new File(getFilesDir()+"/my_app/"+"today_picture.jpg"); 
0

olacaktır. Bunu kullandım ve bu benim için çalışıyor.

public void saveProfilePic(Context context, Bitmap bitmap) { 
     if (bitmap != null) { 
      try { 
       FileOutputStream out = new FileOutputStream(context.getFilesDir().getPath() + "/user_pic.png/"); 
       bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); 
       out.close(); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }