Я реализовал ListView, который загружает Json из Интернета. Все идет нормально.
Но я бы хотел прочитать локальный файл на тот случай, если попытка чтения онлайн-файла json не удалась.
У меня есть асинхронный метод, который читает JSON из Интернета или из локального ресурса:
Future<List<Post>> getPosts(String urlJsonInternet, String fileJsonLocal) async {
//read json from internet
await http.get(urlJsonInternet).then((responseInternet) {
//If server returns an OK response, parse the JSON
return _buildPostList(responseInternet.body);
}).catchError((onError) {
//read json from local file
rootBundle.loadString(fileJsonLocal).then((responseLocal) {
return _buildPostList(responseLocal);
});
});
}
_buildPostList это просто метод, который анализирует JSON.
Для проверки я отключил сеть на эмуляторе Android.
То, что происходит, - то, что ничто не возвращается к Снимку в FutureBuilder. Кажется, что-то связано с порядком выполнения процесса.
Это скриншот исключения: https://ibb.co/iMSRsJ