2012-05-24 2 views
0

Я developping своего рода приложение камеры, и мне нужно, чтобы сохранить каждую картину в определенной папке на моем устройстве Android:Показать скрытый пользователь снятой фотография на андроид

изображения 1 поступит в Project/1 /Image.jpg

фото 2 поступит в Project/2/Image.jpg

и так далее ...

Вот метод, который сохраняет изображения:

private void SavePicture(byte[] imageData) 
    { 
     File path = new File(Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_PICTURES) + "/Project"); 
     boolean success = true; 
     if(!path.exists()) 
     { 
      success = path.mkdir(); 
     } 

     if(success) 
     { 
      int iterator = 0; 
      do 
      { 
       ++iterator; 
       path = new File(path + "/"+Integer.toString(iterator)); 
      }while(path.exists()); 
      success = path.mkdir(); 
     } 

     if(!success) 
     { 
      Log.d("ACTIVITY", "failed at creating directory!"); 
     } 

     String filename = "Image.jpg"; 
     try 
     { 
      Uri uriTarget = Uri.fromFile(new File(path, filename)); 
      OutputStream output = getContentResolver().openOutputStream(uriTarget); 
      output.write(imageData); 
      output.flush(); 
      output.close(); 
     } 
     catch(FileNotFoundException e) 
     { 
      Log.d("ACTIVITY", "Save image failed due to FileNotFoundException: " + e); 
     } 
     catch(IOException e) 
     { 
      Log.d("ACTIVITY", "Save image failed due to IOException: " + e); 
     } 
    } 

В этом коде я начинаю с петлей, чтобы найти, к числу которых я нахожусь, так что если у меня есть папка 1,2,3,4 создам папку 5.

Моя проблема заключается в следующем: Когда это проходит через этот цикл do {...} while (path.exists()); находит каждую папку, которую я ранее создал. Но когда я смотрю в свою галерею, я не вижу ни картины, ни папки. Я также посмотрел из файловой системы компьютера на устройство Android, но не смог найти какую-либо папку.

Я думаю, что папка скрыты (это только предположение ...)

Благодаря

+0

Это не скрытые как скрытые файлы в Linux, обычно начинаются с. * Является ли файл действительно создан? на что указывает путь? проверьте его с помощью отладчика или журнала. Ваш код работает для меня! –

ответ

2

Вы должны установить разрешение на запись в манифесте:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
Смежные вопросы