Tsudzukeru
@Tsudzukeru

Можно ли в Android создать файл без сохранения на устройство?

Есть вот такой код. Можно ли создать файл без сохранения на устройство?

@RequiresApi(Build.VERSION_CODES.FROYO)
    fun toFile(body: ResponseBody): File? {
        try {
            val filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).path
            val futureStudioIconFile = File(filePath + File.separator + "${body.hashCode()}.png")
            var inputStream: InputStream? = null
            var outputStream: OutputStream? = null
            try {
                val fileReader = ByteArray(4096)
                var fileSizeDownloaded: Long = 0
                inputStream = body.byteStream()
                outputStream = FileOutputStream(futureStudioIconFile)
                while (true) {
                    val read: Int = inputStream.read(fileReader)
                    if (read == -1) {
                        break
                    }
                    outputStream.write(fileReader, 0, read)
                    fileSizeDownloaded += read.toLong()
                }
                outputStream.flush()
                return futureStudioIconFile
            } catch (e: IOException) {
                return null
            } finally {
                inputStream?.close()
                outputStream?.close()
            }
        } catch (e: IOException) {
            return null
        }
    }
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
Tsudzukeru
@Tsudzukeru Автор вопроса
Конвертировать нужно в ByteArray
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@WaterSmith
Android-разработчик. Java, Kotlin
Файл, это данные сохраненые на постоянном носителе. Пока данные не сохранены, это не файл, это данные в памяти.
Поэтому не совсем понятно, что вы имеете ввиду? Если не сохранять, то это не файл.
Ответ написан
402d
@402d
начинал с бейсика на УКНЦ в 1988
А о чем вопрос ? Как подобное сделать в рамках текущих требований плея ?
Читать об альтернативах .
https://support.google.com/googleplay/android-deve...
Ответ написан
Комментировать
alekseyHunter
@alekseyHunter
Android developer
Как-то все слишком сложно. Если нужно прям 100% хранить копию изображения в БД, конвертни картинку в Base64 и сохрани полученную строку в БД. А на обратном пути верни во View картинку в Base64 и преобразуй ее в Bitmap. Easy
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы