es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: RX-JAVA2

RxJava – ¿Cómo llamar el método onError() de .subscribe()?

Tengo un Single.fromCallable() al que estoy suscrito. Utilizando LiveData, estoy intentando probar la manipulación de errores de la interfaz de usuario dentro del método de devolución de llamada onError() de .subscribe(). He intentado lanzar Exceptions, llamar a disposable.dispose(), pero no puedo simular un error para que vaya directamente al bloque . . . Read more

No se puede resolver el método ‘subscribe(io.reactivex.rxjava3.core.SingleObserver)’.

El código original en español sería: SingleObserver <responsebody> singleObserver = new SingleObserver <responsebody> () { @Override public void onSubscribe(@io.reactivex.rxjava3.annotations.NonNull Disposable d) { Log.w(“ABC”, “S”); } @Override public void onSuccess(@io.reactivex.rxjava3.annotations.NonNull ResponseBody responseBody) { try { Log.w(“ABC”, responseBody.string()); } catch (IOException e) { e.printStackTrace(); } } @Override public void onError(@io.reactivex.rxjava3.annotations.NonNull Throwable e) . . . Read more

Escriba los fragmentos de bytes uno por uno utilizando writeCharacteristics usando RxAndroidBLE. RxAndroidBLE es una biblioteca que permite interactuar con dispositivos Bluetooth de baja energía en Android utilizando el patrón de programación reactiva. Para escribir fragmentos de bytes uno por uno utilizando la función writeCharacteristics de RxAndroidBLE, siga estos pasos: 1. Conecte su dispositivo Bluetooth de baja energía utilizando RxAndroidBLE. 2. Obtenga una instancia de la clase RxBleConnection llamando al método establecer conexión `RxBleDevice#establishConnection(boolean autoConnect)`. 3. Suscríbase a la conexión establecida utilizando el operador `subscribe()` para recibir eventos de conexión. 4. Una vez que la conexión se haya establecido correctamente, obtenga la característica en la que desea escribir los fragmentos de bytes llamando al método `RxBleConnection#getCharacteristic(UUID)`. Asegúrese de proporcionar el UUID correcto de la característica. 5. Utilice la función `writeCharacteristics(byte[]…)` en la característica obtenida para escribir los fragmentos de bytes uno por uno. Por ejemplo: `characteristic.write(characteristicBytes)`. 6. Asegúrese de manejar cualquier respuesta o error que pueda ocurrir al intentar escribir los bytes utilizando RxAndroidBLE. Aquí está un ejemplo de cómo se vería un código para escribir fragmentos de bytes uno por uno utilizando writeCharacteristics usando RxAndroidBLE: “`java RxBleDevice bleDevice = RxBleClient.create(this).getBleDevice(deviceAddress); bleDevice.establishConnection(false) .subscribe( rxBleConnection -> { // Conexión establecida con éxito UUID characteristicUuid = UUID.fromString(“UUID_DE_LA_CARACTERÍSTICA”); RxBleConnectionCharacteristic characteristic = rxBleConnection.getCharacteristic(characteristicUuid); byte[] bytesToWrite = {0x01, 0x02, 0x03}; // Fragmentos de bytes a escribir characteristic.write(bytesToWrite) .subscribe( bytesWritten -> { // Fragmento de bytes escrito con éxito }, throwable -> { // Error al escribir los fragmentos de bytes } ); }, throwable -> { // Error al establecer la conexión Bluetooth } ); “` Asegúrese de reemplazar “UUID_DE_LA_CARACTERÍSTICA” con el UUID correspondiente de la característica en la que desea escribir los fragmentos de bytes. Recuerde también manejar cualquier excepción u error que pueda ocurrir durante la conexión o escritura de los fragmentos de bytes utilizando RxAndroidBLE.

Estoy tratando de escribir el archivo en el controlador utilizando la biblioteca RxAndroidBLE. Actualmente, estoy leyendo un archivo y convirtiéndolo en un byte[] y enviándolo en trozos de 244. Para realizar esta tarea, estoy utilizando el siguiente flujo: .flatMap(bytes -> getFileData()) .flatMapIterable(otaData -> otaData.getOtaByteArray()) .flatMapSingle(bytes -> mRxBleConnection.writeCharacteristic(OTA_DATA, bytes)) .subscribe(bytes -> . . . Read more

Impacto en el rendimiento al migrar del controlador Java Rx de MongoDB al controlador de transmisión reactiva.

Estamos tratando de actualizar el antiguo controlador de Mongo basado en RxJava mongodb-driver-rx (v1.5.0) al nuevo mongodb-driver-reactivestreams (v1.13.1), no el más nuevo debido a las dependencias, pero sí mucho más nuevo. El antiguo RxJava ha sido descontinuado durante años. Todo funciona correctamente con el nuevo controlador, pero bajo carga elevada . . . Read more