2017-01-30 16 views
0

мне нужно сделать несколько простых вещей ... но я не могу получить его прямоСохранить растровое изображение во внутренней папке кэша

  • Сохранить растровое изображение внутреннего кэша для последующего использования, теперь я сохранить имя (например: name_2347458.jpg)

Я попробовал такой подход:

public static void saveFile(Context context, Bitmap bitmap, String picName) { 
    FileOutputStream fileOutputStream; 
    try { 
     fileOutputStream = context.openFileOutput(picName, Context.MODE_PRIVATE); 
     bitmap.compress(Bitmap.CompressFormat.JPEG, 30, fileOutputStream); 
     fileOutputStream.close(); 
    } catch (FileNotFoundException e) { 
     Log.d(TAG, "file not found"); 
     e.printStackTrace(); 
    } catch (IOException e) { 
     Log.d(TAG, "io exception"); 
     e.printStackTrace(); 
    } 

} 

Это сохраняет файл, но я не знаю, где?

С getExternalCacheDir() Я могу видеть файл на устройстве, но не с openFileOutput.

я могу загрузить растровое изображение с:

public static Bitmap loadBitmap(Context context, String picName) { 

    Bitmap bitmap = null; 
    FileInputStream fileInputStream; 
    try { 
     fileInputStream = context.openFileInput(picName); 
     bitmap = BitmapFactory.decodeStream(fileInputStream); 
     fileInputStream.close(); 

    } catch (FileNotFoundException e) { 
     Log.d(TAG, "file not found"); 
     e.printStackTrace(); 
    } catch (IOException e) { 
     Log.d(TAG, "io exception"); 
     e.printStackTrace(); 
    } 
    return bitmap; 
} 

Но опять-таки используя только имя

ответ

1

Это сохраняет файл, но я не знаю, где?

Сохраняет его в internal storage.

я могу загрузить растровое изображение с

Тогда, казалось бы, что ваш код будет работать только штрафом.

+0

Это должно быть что-то вроде Android/data/packageName/cache? но я не вижу ни одной директории с именем моего приложения. –

+0

@ An-droid: все это описано в [сообщении блога, на которое я ссылался в своем ответе] (https://commonsware.com/blog/2014/04 /07/storage-situation-internal-storage.html). Вы не можете просматривать внутреннее хранилище с помощью обычных инструментов. – CommonsWare