gpt4 book ai didi

android - 将无限次调用的回调转换为 Observable

转载 作者:行者123 更新时间:2023-11-30 00:59:44 25 4
gpt4 key购买 nike

假设我有一个将被调用无限次的回调

公共(public)接口(interface)回调{
void onPreview(byte[] 数据);
}

但我需要在 camera.setPreviewCallback(Callback cb);

中提前设置它

如何使用 RxJava 正确处理这种情况?我想从这个流中异步获取数据,尤其是当我完成工作时。

最佳答案

您可以使用 Observable.fromEmitter 并从 Observable.fromEmitter 的主体设置 camera.setPreviewCallback(Callback cb)

 public void stuff() {
Observable<Byte[]> obs = Observable.fromEmitter(emitter -> {
Callback cb = bytes -> emitter.onNext(bytes);
camera.setPreviewCallback(cb);
}

obs.subscribe(bytes -> /* perform with bytes */);

}

(使用 java 8 语法只是为了清晰起见/即:您可以构建匿名类而不是 lambda)

关于android - 将无限次调用的回调转换为 Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39595413/

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