Android WebSocket和rxjava
我正在开发一个android应用程序,它使用协议WebSocket与服务器通信。我使用异步Android库。WebSocket具有从服务器接收数据的侦听器 像这样的Android WebSocket和rxjava,android,reactive-programming,rx-java,rx-android,Android,Reactive Programming,Rx Java,Rx Android,我正在开发一个android应用程序,它使用协议WebSocket与服务器通信。我使用异步Android库。WebSocket具有从服务器接收数据的侦听器 像这样的 private WebSocket.StringCallback mStringCallback = new WebSocket.StringCallback() { @Override public void onStringAvailable(String s) { }
private WebSocket.StringCallback mStringCallback = new WebSocket.StringCallback() {
@Override
public void onStringAvailable(String s) {
}
};
我需要写这个api,我想使用rxjava。但我无法想象,这应该是可以观察到的,而这个观察者。我试图将从服务器接收到的可观察字符串转换成WebSocket侦听器,但我认为这是个坏主意。
有没有关于如何正确构建api的想法。
谢谢您。您可以将
WebSocket
包装成如下新界面:
interface RxWebSocket {
void send(byte[]); // send data
Observable<String> stringObservable(); // receive string data
}
接口RxWebSocket{
无效发送(字节[]);//发送数据
Observable stringObservable();//接收字符串数据
}
然后在RxWebSocket
实现中,您可以使用PublishSubject
和内部WebSocket.StringCallback
来发布字符串。此源代码可能有助于。。。