Куда положить файлы, чтобы их можно было читать и видоизменять?

Мне нужно сделать так, чтобы у меня непосредственно в приложении андроид лежали файлы по типу .json.

Куда их положить — я знаю всего два места, это папка raw и assets, прочитать содержимое у меня получилось отлично, а вот заменить значения у меня не получается.

Узнал только, что в папке raw хранятся ресурсы и их не получится изменять и дополнять непосредственно во время работы приложения, а про паку assets такой информации не нашел.

Может я конечно не так открываю:

var JSON_STRING_OF_COMPL = assets.open("complite")

При попытке найти функцию write какую-нибудь, мне предлагается только .bufferedReader(), либо не так открываю под запись, либо нужно в другое место класть, только вот куда — не знаю.


Ответы (1 шт):

Автор решения: Vadik

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

Например, запись строки в файл:

File(filesDir, "example.txt").writeText("Hello World")

Чтение из файла:

val content = File(filesDir, "example.txt").readText()

Если файл достаточно большой, то используйте BufferedReader и BufferredWriter. Работа с файлами точно такая же, как в Java.

Посмотрите в официальной документации, какие способы хранения данных есть в Андроид.

→ Ссылка