Tag: rx java

RXJava cómo tratar de conseguir después de x tiempo

Quiero hacer una llamada a un servicio web utilizando retrofit cada x segundos hasta que la condición y se plantea. Quiero ejecutar OrderApi.get después de x segundos hasta que la respuesta sea null. public class OrderApi {} public static Observable<Order> get() { //… } } OrderApi.get(order.getId())) .subscribe(updatedOrder -> { mShouldRun = updatedOrder != null; }); […]

RxJava: Cómo aplicar condicionalmente a los operadores a un observable sin romper la cadena

Tengo una cadena de operadores en un RxJava observable. Me gustaría poder aplicar uno de los dos operadores dependiendo de un valor booleano sin "romper la cadena". Soy relativamente nuevo en Rx (Java) y me siento como que probablemente hay una forma más idiomática y legible de hacer esto que mi enfoque actual de la […]

Utilizar la programación con RxAndroid

Estoy usando un RxAndroid observable para recuperar algún objeto (String en este caso). Mi servicio se ve así: public Observable<String> getRandomString() { return Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscriber) { //code to retrieve result subscriber.onNext("this is a string"); subscriber.onCompleted(); } }); } Me suscribo en mi presentador y publico el resultado […]

RxJava onCompleted y onTerminate en el hilo principal

Estoy usando RxJava con Retrofit 2.0 en Android para las solicitudes de red. Cuando estoy creando el observable, le agrego lo siguiente: observable = observable .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .unsubscribeOn(Schedulers.io()) Entonces si agrego un: observable = observable.doOnTerminate(new Action0() { @Override public void call() { Log.d("OBS", "[" + Thread.currentThread().getName() + "] onTerminate"); } }); O similar para doOnError […]

RxJava y Retrofit – Aumento de excepciones personalizadas en función de la respuesta del servidor

Me gustaría que Retrofit aumente las excepciones personalizadas en función de la respuesta del servidor. Por ejemplo, en la siguiente estructura: { "code":0, "message":"OK", "data":{….} } Quisiera plantear una excepción para los suscriptores si el code es diferente de 0. ¿Cómo es posible usar Retrofit y Rx? Preferiría escribir esta lógica sólo una vez y […]

Acceso al dominio desde un subproceso incorrecto Excepción mientras se envió una copia usando copyFromRealm

Al copiar secuencias de objetos de dominio en lugar de referencia de dominio y observarlo en el subproceso Schedulers.IO, se produce un bloqueo con el famoso mensaje de excepción "Acceso al dominio desde un subproceso incorrecto. Sólo se puede acceder a los objetos de dominio en el subproceso que se creó". ¿No debería la copia […]

Manejador de errores por defecto de RxJava

Lo siento, ¿existe la posibilidad de establecer el controlador de errores por defecto en RxJava? Por ejemplo, algún código en el archivo Utils.kt : fun BaseFragment.callGallery(view: View){ view.clicks().bindToLifecycle(this).subscribe { RxPaparazzo.takeImage(this) .usingGallery() .subscribe { response -> throw RuntimeException("Where is this exception from?") } } } Pero en stacktrace no hay ninguna pista sobre Utils.kt o sobre […]

¿Cómo actualizar observable en RxJava?

Tengo un observable, que envuelve una petición HTTP mObservable = retryObservable(mService.getAddressList(getUserId(), true, 1, Integer.MAX_VALUE, "id", true) .map(r -> { return r.getItems(); }) .observeOn(AndroidSchedulers.mainThread())); Entonces suscripción mSubscription = mObservable.subscribe(items -> { mAddressAdapter.swapItems(items); }, getActivityBase()::showError); Cuando la inicialización de la suscripción viene, el observable frío se activa y la petición de HTTP se enciende. Ahora, sé que […]

Habilitación del botón cuando EditText tiene texto (RxAndroid)

Nuevo en RxJava / RxAndroid y estoy encontrando la falta de ejemplos perturbadores. Como una forma de saltar en el uso de Rx, id como tratar de conseguir algo pequeño de trabajo. Básicamente, si un EditText tiene texto introducido en él, entonces habilite un Button debajo de él. Me encontré con esta respuesta, pero los […]

Android + RxJava – carga de datos de db y servicio web

Quiero utilizar RxJava para cargar datos de un servicio web (a través de Retrofit). También tengo un caché de la base de datos de resultados anteriores. Supongamos que ya tengo observables para cada uno de estos: Observable<List<MyModel>> networkObservable = retrofitService.getModels(); Observable<List<MyModel>> dbObservable = database.getModels(); Quiero combinar estos dos observables en uno: public class MyModelHelper { […]

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.