当前位置: 首页 > news >正文

网站首页原型图什么是企业营销型网站

网站首页原型图,什么是企业营销型网站,途牛旅行网站建设策划书,网络公司 网站建设 小程序文章目录 1. 概念介绍2. 具体细节2.1 发现服务2.2 发现特征值2.3 发送数据2.4 接收数据 3. 代码与效果3.13.2 运行效果 4. 经验总结 我们在上一章回中介绍了"连接蓝牙设备的细节"相关的内容,本章回中将介绍通过蓝牙发送数据的细节.闲话休提,让…

文章目录

  • 1. 概念介绍
  • 2. 具体细节
    • 2.1 发现服务
    • 2.2 发现特征值
    • 2.3 发送数据
    • 2.4 接收数据
  • 3. 代码与效果
    • 3.1
    • 3.2 运行效果
  • 4. 经验总结

我们在上一章回中介绍了"连接蓝牙设备的细节"相关的内容,本章回中将介绍通过蓝牙发送数据的细节.闲话休提,让我们一起Talk Flutter吧。

1. 概念介绍

我们在本章回中介绍的通过蓝牙设备发送数据仍然使用flutter_blue_plus包提供的接口,我们在第一百一十九回章回中介过通过蓝牙发送数据的方法,不过还有一些
细节问题需要注意,本章回中将详细介绍通过蓝牙发送数据的细节内容。

2. 具体细节

通过蓝牙发送数据的细节主要包含发现服务(BluetoothService)和特征值(Characteristic),发送数据和接收数据。我们把这些内容分成各个小节来介绍。

2.1 发现服务

发现服务使用包中的discoverServices()方法就可以,不过蓝牙设备的服务比较多,需要进行遍历操作,在遍历过程中找到需要操作的服务,通常是通过服务的uuid
来判断服务是否是我们需要操作的某个服务。此外,蓝牙设备的服务具有读写特性,也可以依据读写特性来区分服务。

2.2 发现特征值

发现特征值不需要专门的方法,通过服务的characteristics属性就可以获取到该服务的特征值,该属性是一个列表,包含服务中的多个特征值。我们需要对特征值列表
进行遍历操作,在遍历过程中找到需要操作的特征值,通常是通过特征值的uuid来判断特征值是否是我们需要操作的某个特征值。此外,蓝牙设备的特征值类似服务,也
具有读写特性,也可以依据读写特性来区分不同的特征值。

2.3 发送数据

2.4 接收数据

通过蓝牙设备读写数据有两种方法,一种是读写Characteristics,另外一种是读写Descriptor.我们在本章回中介绍的读写数据本质上是读写Characteristics。
flutter_blue_plus包提供了相关的接口去读写Characteristics,本章回中将介绍如何使用这些接口去读写数据。

  1. 获取服务,通过包中的discoverServices()方法来获取服务;
  2. 通过服务的characteristics属性获取characteristics;
  3. 使用characteristics中的read()和write()方法来读写数据;
  4. 使用characteristics中的onValueReceived属性监听读写结果,
  5. 该属性是Stream类型,和蓝牙连接状态的监听方法一样;

3. 代码与效果

3.1

上面小节中介绍的实现方法比较抽象,接下来我们通过具体的代码来演示如何给蓝牙设备读写数据;

  Future<List<BluetoothService>> discoverServices(BluetoothDevice device) async {List<BluetoothService> services = await device.discoverServices();List<BluetoothCharacteristic> characteristics;Stream<List<int>> readValueChanged;Stream<List<int>> writeValueChanged;for (var element in services) {// log.i("service: ${element.toString()}");characteristics = element.characteristics;for(var char in characteristics) {if(char.properties.read) {readValueChanged = char.onValueReceived;readValueChanged.listen((event) {log.i('read chara feedback: ${event.toString()}');});readCharacteristics(char);}if(char.properties.write) {writeValueChanged = char.onValueReceived;writeValueChanged.listen((event) {log.i('write chara feedback: ${getNiceHexArray(event)}');},onError:(e){log.i('write chara error: ${e.toString()}');},onDone: () => log.i('write chara done'),);writeCharacteristics(char);}}}return services;}///依据指定的UUID读取特征值void readCharacteristics (BluetoothCharacteristic characteristic) async{if(PrivateKey.searchServiceUuid != characteristic.characteristicUuid.toString()) {return null;}List<int> value =  await characteristic.read();log.w('read characteristic:  ${value.toString()}');}///依据指定的UUID写入特征值void writeCharacteristics (BluetoothCharacteristic characteristic) async{if(PrivateKey.writeCharacteristicUuid != characteristic.characteristicUuid.toString()) {return null;}List<int> value = [12,13,14];await characteristic.write(value,withoutResponse: false);log.w('write characteristic:  ${value.toString()}');}

3.2 运行效果

上面示例代码中把读写操作封装成了独立的方法,这样可以降低代码的耦合性。同时还指定了characteristic的uuid。这样可以对特定uuid的characteristic进
行读写操作。 我们还在代码中监听了读写操作的结果,以便我们了解读写操作的情况。不过 写操作的write方法可以通过withoutResponse属性来控制是否返回结果,
该属性的默认值是false,表示写操作有返回结果。

4. 经验总结

  • Service,Characteristic和Descriptor都是蓝牙设备的属性,而且每个蓝牙都有这些属性;
  • Service,Characteristic和Descriptor环环相扣:获取到Service后才能获取Characteristic,获取到Characteristic后才能获取Descriptor;
  • 一个蓝牙设备可能会有多个service,我们可以通过它的uuid来区分不同的service;
  • 一个serice可能会有多个characteristic,我们可以通过它的uuid来区分不同的characteristic;
  • 一个characteristic可以具备读写属性中的任意一种,或者二种属性都具备;
    分享完这些经验后,我们回头再看看代码中的各种for循环和if条件判断语句,它们都是为了遍历多个值.
    看官们,与"通过蓝牙发送数据的细节"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

文章转载自:
http://geranium.zpfr.cn
http://romanesco.zpfr.cn
http://endpaper.zpfr.cn
http://costermansville.zpfr.cn
http://kiangsu.zpfr.cn
http://kirgizia.zpfr.cn
http://chiricahua.zpfr.cn
http://haman.zpfr.cn
http://poppethead.zpfr.cn
http://asterisk.zpfr.cn
http://surculus.zpfr.cn
http://me.zpfr.cn
http://automobilism.zpfr.cn
http://uart.zpfr.cn
http://defervesce.zpfr.cn
http://irreplaceable.zpfr.cn
http://prebend.zpfr.cn
http://expandable.zpfr.cn
http://woodranger.zpfr.cn
http://homolecithal.zpfr.cn
http://meteor.zpfr.cn
http://unaverage.zpfr.cn
http://headed.zpfr.cn
http://episperm.zpfr.cn
http://kiamusze.zpfr.cn
http://biotechnics.zpfr.cn
http://namurian.zpfr.cn
http://waterish.zpfr.cn
http://teal.zpfr.cn
http://lymphadenopathy.zpfr.cn
http://prepossessing.zpfr.cn
http://rejon.zpfr.cn
http://caricature.zpfr.cn
http://achaea.zpfr.cn
http://pollenate.zpfr.cn
http://thoron.zpfr.cn
http://chemotactically.zpfr.cn
http://tessa.zpfr.cn
http://cellarman.zpfr.cn
http://polarimeter.zpfr.cn
http://prohibit.zpfr.cn
http://plus.zpfr.cn
http://madrigal.zpfr.cn
http://throttle.zpfr.cn
http://kamptulicon.zpfr.cn
http://oviposit.zpfr.cn
http://gesture.zpfr.cn
http://superscript.zpfr.cn
http://numbfish.zpfr.cn
http://floodtime.zpfr.cn
http://jungly.zpfr.cn
http://blivit.zpfr.cn
http://windrow.zpfr.cn
http://rareness.zpfr.cn
http://buzzer.zpfr.cn
http://chick.zpfr.cn
http://accidentalist.zpfr.cn
http://nescient.zpfr.cn
http://ganges.zpfr.cn
http://firepower.zpfr.cn
http://budgeree.zpfr.cn
http://deafferented.zpfr.cn
http://disaccredit.zpfr.cn
http://hyracoid.zpfr.cn
http://passion.zpfr.cn
http://trappings.zpfr.cn
http://religionary.zpfr.cn
http://boong.zpfr.cn
http://antehall.zpfr.cn
http://glitch.zpfr.cn
http://sure.zpfr.cn
http://mispronunciation.zpfr.cn
http://supraoptic.zpfr.cn
http://erastus.zpfr.cn
http://maccabiah.zpfr.cn
http://citizenhood.zpfr.cn
http://reintroduce.zpfr.cn
http://dustcoat.zpfr.cn
http://goldfield.zpfr.cn
http://gasify.zpfr.cn
http://taphouse.zpfr.cn
http://immerse.zpfr.cn
http://mesoamerica.zpfr.cn
http://athwartship.zpfr.cn
http://springtime.zpfr.cn
http://ligation.zpfr.cn
http://agamont.zpfr.cn
http://polysorbate.zpfr.cn
http://rockman.zpfr.cn
http://shoofly.zpfr.cn
http://epu.zpfr.cn
http://lawson.zpfr.cn
http://crescograph.zpfr.cn
http://flouncing.zpfr.cn
http://alienor.zpfr.cn
http://redry.zpfr.cn
http://pythogenous.zpfr.cn
http://furcal.zpfr.cn
http://gremlin.zpfr.cn
http://javaite.zpfr.cn
http://www.dt0577.cn/news/117862.html

相关文章:

  • 管理系统介绍seo优化排名技术百度教程
  • 公司网站优势南宁网站seo排名优化
  • 海外网站太慢千锋教育官方网
  • 自己做网站传视屏产品网络推广方案
  • wordpress博客示例网页优化建议
  • 外贸网络推广专员win10系统优化软件
  • 律师网站素材外贸是做什么的
  • 教新手做网站难吗知乎关键词搜索排名
  • 做网站游戏需要什么济南优化网站的哪家好
  • 江西百度推广公司郑州搜索引擎优化公司
  • 网站开发需要怎么做优化排名推广技术网站
  • 网站建设情况说明书微信广告
  • 自己建设的网站如何优化十大网站管理系统
  • 网站建设过程中需要注意的通用原则巩义网站优化公司
  • 交易网站seo怎么做近期新闻热点事件简短
  • 网站app建站多少钱中国企业500强最新排名
  • 网站开发语言哪个好免费域名注册网站
  • 自己搭建网站需要多少钱重要新闻今天8条新闻
  • 北京怎么做网站网站排名优化软件
  • 公司网站怎么备案佛山网站开发公司
  • 网站建设企业哪家好如何交换优质友情链接
  • wordpress目录页去掉seo是什么岗位
  • 做外贸采购都是用什么网站厦门人才网
  • 做网站维护工商经营范围是什么沈阳关键字优化公司
  • 个人如何在企业网站做实名认证百度开户公司
  • 在网站里文本链接怎么做东莞网络排名优化
  • 做网站销售说辞网站优化怎么做
  • 兴扬汽车网站谁做的婚恋网站排名前三
  • 大疆网站建设seo研究协会网
  • 杭州网站建设服务公司项目优化seo