Хорошо. Итак, я просто пытаюсь подключить устройство Bluetooth с библиотекой flutterblue, но idk, следуя руководству по использованию, кажется, терпит неудачу почти каждый раз, когда я пытаюсь его использовать, и попытка использовать код в примере приложения вводит в заблуждение. gosh если кто-то может даже указать мне на основание c Учебник по флаттеру синего цвета, я буду вечно благодарен.
Все, что мне нужно, это отобразить поток данных, состоящий из устройств Bluetooth, в третьем контейнере, и все, что я делаю, - это сбой. Помогите, я новичок во флаттере. Вот ошибка в консоли
══════════════════════════════════ ══════════════════════════════════════════════════ ════════════════ Перезагрузка 0 из 582 библиотек за 371 мс.
════════ (2) Исключение, пойманное библиотекой служб ════ ══════════════════════════════════════════════ PlatformException (ошибка, Нет активного потока для отмены, ноль) ══════════════════════════════════════════ ══════════════════════════════════════════════════ ════════
══ ═════ (3) Исключение поймано библиотекой виджетов ═════════════════════════════════════ ══════════════ 'package: flutter / src / widgets / asyn c .dart': ошибочное утверждение: строка 386 поз 15: 'builder! = Null': не соответствует действительности. Соответствующий виджет, вызывающий ошибки, был: _SnapshotScreenState file: /// C: /Users/sqandil/Downloads/simple_firebase_auth-completed-part-one/flutterLoginBT/simple_firebase_auth-completed-part-one/lib/napshot: : 22 * 1010 *
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_blue/flutter_blue.dart';
import 'package:provider/provider.dart';
import 'package:simple_firebase_auth/home_page.dart';
import 'package:simple_firebase_auth/util/hexcolor.dart';
// flutter blue imports
import 'dart:async';
import 'dart:math';
import 'package:flutter_blue/flutter_blue.dart';
//import 'package:flutter_blue/flutter_blue.dart';
import 'package:flutter_blue/flutter_blue.dart';
import 'package:simple_firebase_auth/widgets.dart';
import 'auth.dart';
class SnapshotScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
color: Colors.lightBlue,
home: StreamBuilder<BluetoothState>(
stream: FlutterBlue.instance.state,
initialData: BluetoothState.unknown,
builder: (c, snapshot) {
final state = snapshot.data;
if (state == BluetoothState.on) {
return _SnapshotScreenState();
}
return BluetoothOffScreen(state: state);
}),
);
}
_SnapshotScreenState createState() => _SnapshotScreenState();
}
// ignore: must_be_immutable
class _SnapshotScreenState extends StatelessWidget {
//const SnapshotScreenState({Key key, this.state}) : super(key: key);
//String dataFromDevice;
Color _purple = HexColor("#6908D6");
Color _cornellBlue = HexColor("#2467ed");
Color _palePink = HexColor("#f7c3ee");
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Hand App'),
backgroundColor: _cornellBlue,
),
body: Container(
margin: EdgeInsets.only(top: MediaQuery.of(context).size.height*.1), // use this to calculate the height of device and place widgets percentage wise
alignment: Alignment.center,
color: Colors.white,
child: ListView(
scrollDirection: Axis.vertical,
padding: EdgeInsets.all(8),
children: <Widget>[
Container(
width: 150,
height: 150,
decoration: BoxDecoration(
color: _cornellBlue.withOpacity(0.5),
borderRadius: BorderRadius.circular(12.0)
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text("null",style: TextStyle(
color: _purple,
fontWeight: FontWeight.normal,
fontSize: 15
),),
Padding(
padding: const EdgeInsets.all(12.0),
child: Text("null", style: TextStyle(
color: _purple,
fontWeight: FontWeight.bold,
fontSize: 30
),),
)
],
),
),
Container(
margin: EdgeInsets.only(top: 20),
padding: EdgeInsets.all(12),
decoration: BoxDecoration(
color: _cornellBlue,
border: Border.all(
color: Colors.blueGrey.shade100,
style: BorderStyle.solid
),
borderRadius: BorderRadius.circular(12)
),
child: Row(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left:10.0, right: 20.0),
child: RaisedButton(
child: Text("Search"),
onPressed: () async{
debugPrint("test");
},
),
),
Padding(
padding: const EdgeInsets.only(right: 20, left: 20),
child: RaisedButton(
child: Text("Snapshot"),
onPressed: () async{
debugPrint("test");
},
),
),
Padding(
padding: const EdgeInsets.only(left:15.0, right: 4.0),
child: RaisedButton(
child: Text("Docs"),
onPressed: (){
debugPrint("test");
},
),
)
],
),
),
Container(
margin: EdgeInsets.only(top: 20),
padding: EdgeInsets.all(12),
decoration: BoxDecoration(
color: _cornellBlue,
border: Border.all(
color: Colors.blueGrey.shade100,
style: BorderStyle.solid
),
borderRadius: BorderRadius.circular(12)
),
child: Column(
children: <Widget>[
StreamBuilder<List<BluetoothDevice>>(
//stream: Stream.periodic(Duration(seconds: 2)).asyncMap((_) => FlutterBlue.instance.connectedDevices),
)
],
)
)],
),
),
);
}
}