Как вы берете экземпляр устройства Bluetooth и отображаете его пользователю пользователя на флаттер - PullRequest
0 голосов
/ 13 марта 2020

Хорошо. Итак, я просто пытаюсь подключить устройство 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),
                    )
                  ],

            )
            )],
        ),
      ),
    );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...