Flutter: Dart Cast Error (оператор проверки NULL используется для нулевого значения)
Я новичок в Flutter, я пытаюсь открыть камеру, для этого я следовал примеру кода, но когда я отлаживаю свое приложение, он дает мне исключение, как показано на изображении
Вот мой код:
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:camera/camera.dart';
import 'home.dart';
List<CameraDescription> cameras;
Future<Null> main() async {
try {
cameras = await availableCameras();
} on CameraException catch (e) {
print('Error: $e.code\nError Message: $e.message');
}
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'RealTime Detection',
home: HomePage(cameras),
);
}
}
1 ответ
вы можете сделать что-то вроде этого:
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) => MaterialApp(
debugShowCheckedModeBanner: false,
title: 'RealTime Detection',
home: FutureBuilder<List<CameraDescription>>(
future: availableCameras(),
builder: (
BuildContext context,
AsyncSnapshot<List<CameraDescription>> snapshot,
) {
if (snapshot.hasData) {
return HomePage(snapshot.data);
} else {
return CircularProgressIndicator();
}
},
),
);
}