Как временно кешировать список объектов и извлекать их - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь сохранить несколько списков сериализуемого объекта во временном кэше, используя GOOGLE DOCUMENTATION без удачи. (Какой тип файла следует хранить?)

private fun cacheMenuList(venueId: Int, menuCategories: List<MenuCategory>) {
    var fileOutputStream: FileOutputStream? = null
    var objectOutputStream: ObjectOutputStream? = null

    try {
        fileOutputStream = context?.openFileOutput("$FILE_NAME_PREFIX$venueId$FILE_NAME_SUFFIX", Context.MODE_PRIVATE)
        objectOutputStream = ObjectOutputStream(fileOutputStream)
        objectOutputStream.writeObject(menuCategories)
        Log.d("CHECKFILES", "File saved ->>>>>>> $menuCategories")
    } catch (error: FileNotFoundException) {
        Log.d("CHECKFILES", "Save error stack trace ${error.printStackTrace()}")
    } catch (error: IOException) {
        Log.d("CHECKFILES", "Save error io exception stack trace ${error.printStackTrace()}")
    } finally {
        if (fileOutputStream != null && objectOutputStream != null) {
            try {
                objectOutputStream.close()
                fileOutputStream.close()
            } catch (error: IOException) {
                Log.d("CHECKFILES", "Save error io exception stack trace ${error.printStackTrace()}")
            }
        }
    }
}

Не совсем уверен, как я могу сохранить его в File.createTempFile(filename, null, context.cacheDir) и как получить уже проанализированный список кэшированных объектов.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...