Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WebSocket和rxjava_Android_Reactive Programming_Rx Java_Rx Android - Fatal编程技术网

Android WebSocket和rxjava

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) { }

我正在开发一个android应用程序,它使用协议WebSocket与服务器通信。我使用异步Android库。WebSocket具有从服务器接收数据的侦听器

像这样的

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
来发布字符串。

此源代码可能有助于。。。