小编afa*_*rre的帖子

基本的 flutter 蓝牙问题

我正在开展一个涉及颤振和蓝牙的新项目。为此,我阅读了一些相关内容并尝试了一个测试项目,但我仍然有一些问题,我找不到简单的答案。

首先,BLE 与蓝牙。BLE 就是蓝牙版本 4,主要用于物联网应用。可以在手机上运行,​​但是有兼容性问题吗?也就是说,BLE 设备可以与蓝牙设备通信吗?还是它们都需要使用相同的蓝牙版本?

这个问题来自于测试 flutter blue示例并且没有发现任何设备,而我的标准手机的蓝牙发现了 10 多个设备(在魅族 16th 上测试)。我是否需要两个具有相同 flutter 蓝牙应用程序的设备才能相互看到并交互?我知道为了发送信息,我需要两个具有相同 flutter 应用程序的设备,但现在我只想测试扫描设备的功能,而返回 0 个设备让我有点失望。

其次,我见过一些蓝牙包,例如flutter_blueflutter_bluetooth_serial(基于 flutter_blue)、flutter_reactive_blebluetooth。考虑到我的项目是基于制作调查问卷 -> 通过蓝牙发送 -> 通过蓝牙取回填写的调查问卷,您认为哪一个最适合?

简而言之,我对 flutter 的了解相当基础,在蓝牙方面的知识绝对是 0,所以我希望在当前的 flutter 蓝牙技术水平上有一些明智的建议,以便我有一个强有力的起点并避免常见的错误。

编辑:为了补充 @ukBaz 的答案,他解释了蓝牙背后的理论,如果有人发现自己使用 flutter_blue 示例,请记住在您的设备中打开蓝牙和 GPS,以使该示例正常工作。

有了 ukBaz 的解释和一个工作示例,我可以承担这个项目,谢谢。

编辑2:解释为什么这里需要位置服务。

bluetooth bluetooth-lowenergy flutter

6
推荐指数
1
解决办法
2856
查看次数

从动态创建的列表中动态删除小部件 flutter

我按照这个示例从列表中删除所需的元素,并且效果很好。然后我做了一些更改,因为列表的大小不是预定义的(在示例中又称为 5),而是通过按钮进行更改。在根据我的需要调整代码后,我发现了两个问题:

  1. +每次我点击添加新元素时,元素哈希代码都会发生变化。这是正确的,因为它正在重新绘制列表,还是不正确?
  2. 删除一个元素时,除了更改所有其他元素的哈希码外,仅删除最后一个元素,而不删除所选元素。

这是执行过程:

在此输入图像描述

这是代码:

import 'package:flutter/material.dart';

class StreamBuilderIssue extends StatefulWidget {
  @override
  _StreamBuilderIssueState createState() => _StreamBuilderIssueState();
}

class _StreamBuilderIssueState extends State<StreamBuilderIssue> {
  List<ServiceCard> serviceCardList;
  int numElements = 1; //dynamic number of elements

  void removeServiceCard(index) {
    setState(() {
      serviceCardList.remove(index);
      numElements--;
    });
  }


  @override
  Widget build(BuildContext context) {
    serviceCardList = List.generate(numElements, (index) => ServiceCard(removeServiceCard, index: index));
    return Scaffold(
      body: ListView(
        children: <Widget>[
          ...serviceCardList,
          new FlatButton(
            onPressed: (){
              setState(() {
                numElements++;
              });
            },
            child: new Icon(Icons.add),
          ),
        ], …
Run Code Online (Sandbox Code Playgroud)

android dart flutter flutter-layout

2
推荐指数
1
解决办法
2903
查看次数