Ошибка создания при попытке создать файл JSON при первой загрузке приложения - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь создать метод, который вызывается при загрузке приложения. Этот метод создаст несколько файлов JSON в каталоге документов приложений. Однако, когда я запускаю это через эмулятор Android Studio, я получаю следующую ошибку:

Код:

import 'dart:io';
import 'package:path_provider/path_provider.dart';

createFile() async {
  //Get device document directory path
  final directory = await getApplicationDocumentsDirectory();

  //Create savedSettings.json File
  if (File('$directory/savedSettings.json').existsSync()) {
    print("This file already exists");
  } else {
    File('$directory/savedSettingsTest.json').create(recursive: true);
  }
}

Ошибка:

Ошибка Dart: необработанное исключение: FileSystemException: создание не удалось, путь = 'Directory:' '(Ошибка ОС: файловая система только для чтения, errno = 30)

1 Ответ

0 голосов
/ 16 января 2019

Сначала необходимо запросить разрешения.

Вы можете использовать этот пакет: https://pub.dartlang.org/packages/simple_permissions

Это разрешение, которое вы должны добавить в файл AndroidManifest.xml.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

И это перечисление, которое вы должны будете использовать

WriteExternalStorage

Вот пример кода:

 https://pub.dartlang.org/packages/simple_permissions#-example-tab-

Не забудьте извлечь путь из Directory:

 final directory = await getApplicationDocumentsDirectory();
 final String path = directory.path;
 File("$path/savedSettings.json")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...