мне нужно сделать несколько простых вещей ... но я не могу получить его прямоСохранить растровое изображение во внутренней папке кэша
- Сохранить растровое изображение внутреннего кэша для последующего использования, теперь я сохранить имя (например: 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;
}
Но опять-таки используя только имя
Это должно быть что-то вроде Android/data/packageName/cache? но я не вижу ни одной директории с именем моего приложения. –
@ An-droid: все это описано в [сообщении блога, на которое я ссылался в своем ответе] (https://commonsware.com/blog/2014/04 /07/storage-situation-internal-storage.html). Вы не можете просматривать внутреннее хранилище с помощью обычных инструментов. – CommonsWare