Questions tagged «rx-android»

3
RxJava调度程序的用例
在RxJava中,有5种不同的调度程序可供选择: Immediate():创建并返回一个Scheduler,该Scheduler立即在当前线程上执行工作。 trampoline():创建并返回一个调度程序,该调度程序在当前工作完成后将要在当前线程上执行的工作排队。 newThread():创建并返回一个Scheduler,该Scheduler为每个工作单元创建一个新的Thread。 Calculation():创建并返回用于计算工作的Scheduler。这可以用于事件循环,处理回调和其他计算工作。不要在此调度程序上执行IO绑定工作。使用计划程序。io()代替。 io():创建并返回用于IO绑定工作的Scheduler。该实现由Executor线程池支持,该线程池将根据需要增长。这可用于异步执行阻塞IO。不要在此调度程序上执行计算工作。使用计划程序。Calculation()代替。 问题: 前三个调度程序很容易说明。但是,我对计算和io有点困惑。 什么是“ IO绑定工作”?它用于处理流(java.io)和文件(java.nio.files)吗?它用于数据库查询吗?它是否用于下载文件或访问REST API? 如何计算()从不同newThread() ?是否所有的Calculation()调用都在单个(后台)线程上,而不是每次都在一个新的(后台)线程上? 为什么在进行IO工作时调用calculation()很糟糕? 为什么在执行计算工作时调用io()不好?


3
使用Retrofit 2.0和RxJava获取响应状态代码
我正在尝试升级到Retrofit 2.0,并在我的android项目中添加RxJava。我正在进行api调用,并希望在服务器出现错误响应的情况下检索错误代码。 Observable<MyResponseObject> apiCall(@Body body); 在RxJava调用中: myRetrofitObject.apiCall(body).subscribe(new Subscriber<MyResponseObject>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(MyResponseObject myResponseObject) { //On response from server } }); 在Retrofit 1.9中,RetrofitError仍然存在,我们可以通过执行以下操作获取状态: error.getResponse().getStatus() 如何使用RxJava使用Retrofit 2.0?

3
无法为io.reactivex.Observable创建呼叫适配器
我将发送一个简单的get方法到我的服务器(这是Rails应用),并使用RxJava和Retrofit获得结果。我所做的是: 我的界面: public interface ApiCall { String SERVICE_ENDPOINT = "https://198.50.214.15"; @GET("/api/post") io.reactivex.Observable<Post> getPost(); } 我的模型是这样的: public class Post { @SerializedName("id") private String id; @SerializedName("body") private String body; @SerializedName("title") private String title; public String getId () { return id; } public String getBody () { return body; } public String getTitle …

8
合并一个Observables列表,直到所有完成为止
TL; DR 如何转换Task.whenAll(List<Task>)成RxJava? 我现有的代码使用Bolts构建了一系列异步任务,并等待所有这些任务完成后再执行其他步骤。本质上,按照Bolts站点上的示例,它会构建aList<Task>并返回一个列表,当列表中的所有任务Task完成时,将其标记为已完成。 我正在寻找替换方法Bolts,RxJava并且我假设这种方法可以构建异步任务列表(大小未知)并将它们全部包装为一个Observable,但是我不知道如何做。 我试着看merge,zip,concat等...但不能去工作的List<Observable>,我会被建立,因为他们似乎都面向工作的只有两个Observables,如果我理解正确的文档在一个时间。 我正在尝试学习RxJava,但仍然很陌生,因此,如果这是一个明显的问题或在文档中的某个地方进行了说明,请原谅我;我尝试搜寻。任何帮助将非常感激。

1
使用Rxjava Schedulers.newThread()与Schedulers.io()进行改造
什么是使用的好处Schedulers.newThread()VSSchedulers.io()在Retrofit网络请求。我已经看到了许多使用的示例io(),但是我想理解为什么。 情况示例: observable.onErrorResumeNext(refreshTokenAndRetry(observable)) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread())... 与 observable.onErrorResumeNext(refreshTokenAndRetry(observable)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread())... 我见过的原因之一是- newThread()为每个工作单元创建一个新线程。io()将使用线程池 但是,这种说法对应用程序有什么影响?还有其他哪些方面?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.