gpt4 book ai didi

android - 如何使用 RxAndroidBle 结合服务发现和读取特征

转载 作者:行者123 更新时间:2023-11-30 00:33:10 29 4
gpt4 key购买 nike

我是 Rx 编程的新手。我现在正在尝试使用 RxAndroidBle 来发现 BLE 设备的服务并从设备中读取一些特征。

我可以用

device.establishConnection(false)
.flatMap(rxBleConnection -> rxBleConnection.discoverServices());

查找设备服务

和使用

device.establishConnection(false)
.flatMap(rxBleConnection -> rxBleConnection.readCharacteristic(characteristicUUID));

阅读想要的特征

但我想知道是否可以将这两个任务结合在一起?如果可能,我该怎么做?

非常感谢您的提示和帮助!

最佳答案

我看到您正在使用辅助方法 readCharacteristic(UUID)。您完全可以跳过发现过程,图书馆会在幕后为您无缝完成。

当然,只需使用带有 zip 的 flatMap 或带有合并的发布。有很多方法,但这是一种基本且愚蠢的方法。

 bleDevice
.establishConnection(false)
.flatMap(connection ->
Observable.zip(
connection.readCharacteristic(UUID.randomUUID()).doOnNext(data -> doSomethingWithData(data)),
connection.discoverServices().doOnNext(services -> doSomethingWithServices(data)),
Pair::create
)
)
.subscribe();

最好能做一些 RxJava 培训。

关于android - 如何使用 RxAndroidBle 结合服务发现和读取特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43913244/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com