Вот код:
Код: Выделить всё
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
final filename = [
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-09-080Ia.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-09-0801a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-09-0802a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-09-0803a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-09-0804a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-09-0805a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-09-0806a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-09-0807a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-09-0808a.json",
"https://ListeningToGod.org/SermonEngagement/TextFiles/2024-09-0809a.json",
];
Future _checkUrl(String url) async {
http.Response urlResponse = await http.get(Uri.parse(url));
if (urlResponse.statusCode == 200) {
return true;
} else {
return false;
}
}
Future getMaxEngagementIndex() async {
int index = 0;
for (int i = 0; i < filename.length; i++) {
String engagementFileName = filename[i];
await _checkUrl(engagementFileName).then((filePresent) {
if (filePresent) {
index++;
}
});
}
return index;
}
Future main() async {
int numfiles = await getMaxEngagementIndex();
String num = numfiles.toString();
runApp(MyApp(num));
}
class MyApp extends StatelessWidget {
final String numfiles;
const MyApp(this.numfiles, {super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: true,
home: Scaffold(
body: Center(
child: Text('Num Files =$numfiles'),
),
),
);
}
}
Вот сводка:
Телефон Android с подключением через USB-порт VSC: Код «работает»
VSC Pixel Android Симулятор: происходит сбой со следующей ошибкой:
Ошибка подключения к протоколу службы: не удалось подключиться к
http://127.0.0.1:55614/3ZabRaTXlrw=/
E/ flutter (15542): [ОШИБКА: flutter/runtime/dart_vm_initializer.cc(41)] Необработанное исключение: ClientException с SocketException: не удалось найти хост: 'listeningtogod.org' (Ошибка ОС: нет адреса, связанного с именем хоста, errno = 7), uri=https://listeningtogod.org/SermonEngage ... 080Ia.json
VSC Chrome завершается со следующей ошибкой:
Сообщение о флаттере/ Канал keyevent был отброшен до того, как его удалось
обработать.
Это происходит, когда плагин отправляет сообщения на сторону платформы до того, как платформа получит возможность зарегистрировать прослушиватель. Подробную информацию о том, как настроить канал для ожидания большего количества сообщений или ожидания отклонения сообщений, см. в документации по API ChannelBuffers:
https://api.flutter.dev/flutter/dart-ui/ ChannelBuffers-class.html
Windows на VSC. Код «работает»
Dartpad. Ошибка с сообщением, похожим на Chrome. сбой:
Сообщение на канале флаттера/жизненного цикла было отброшено до того, как его можно было обработать.
Это происходит, когда плагин отправляет сообщения на сторону платформы до того, как платформа получила возможность зарегистрировать прослушиватель. Подробную информацию о том, как настроить канал для ожидания большего количества сообщений или ожидания отклонения сообщений, см. в документации по API ChannelBuffers:
https://api.flutter.dev/flutter/dart-ui ... fers-class. html
Я прочитал документацию Channel Buffers, которая ссылается на себя для получения дополнительной информации, которая довольно глупа, но не дает решений.
Любая помощь здесь на этом?
Подробнее здесь: https://stackoverflow.com/questions/790 ... oid-simula
Мобильная версия