Написанное на языке kotlin в android studio приложение может вылетать из-за ошибок в коде:
Попытка записи в файл
Метод writeText ссылается на несуществующий файл.
Ошибка прав доступа
Например: даже если права чтения и записи выданы, это не означает что можно записывать в файл в любом месте корневого каталога. Правильный путь - getExternalFilesDir(null).toString. Этот путь означает /Android/data/ имя пакета/files/
Ошибка в выдаче прав Android 10+
В андроид 10 права выдаются так:
requestPermissions.launch(имя разрешения), где "requestPermissions" это имя переменной, декларируемой как Private:
private val requestPermissions = registerForActivityResult(ActivityResultContracts.RequestPermission()) {Granted ->
when (Granted){
true -> //права выданы, можно продолжать выполнение программы
false -> //права не выданы
}}}
Запрос несуществующего элемента списка
При выполнении запроса в форме table[i], где i это запрашиваемый индекс списка, приложение вылетает если такой индекс не существует. Если предполагается использовать случайный элемент списка (Math.random), то прямое присвоение типа val nomer = table(math.random) вызывает ошибку. У меня получилось только через отдельный List:
Val nomer = ListOf(math.random)
Println(nomer)
Неправильная работа с корутинами (suspend fun)
Суть: вызов функции, содержащей корутину (или использование delay) без слова suspend:
Private suspend fun test()
Подобные вещи вызвали у меня затруднения при изучении языка kotlin, на некоторые простые вопросы в интернете очень сложно искать ответы.