android - 如何同时使用 Rx-Java 和 Retrofit 请求多个请求?
问题描述
我想同时使用改造从服务器获得 3 个以上的响应。但只有 2 个请求会有响应。
我正在使用改造和 Rxjava。
我也使用 .clone() 方法来复制请求。
点击(https://futurestud.io/tutorials/retrofit-2-reuse-and-analyze-requests-2)!
这是 ResponseActivity :
public class ResponseActivity extends AppCompatActivity {
private ResponseViewModel mViewModel;
private static final String TAG = "MainActivity";
private ProgressBar progressBar;
protected CompositeDisposable compositeDisposable = new CompositeDisposable();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.response_main);
mViewModel = new ResponseViewModel();
progressBar = findViewById(R.id.pb_response);
}
@Override
protected void onResume() {
super.onResume();
mViewModel.getText()
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(new MySingleObserver<Text>(compositeDisposable) {
@Override
public void onSuccess(Text value) {
Log.i(TAG, "onSuccess: " + value.getText());
}
});
mViewModel.getText()
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(new MySingleObserver<Text>(compositeDisposable) {
@Override
public void onSuccess(Text value) {
Log.i(TAG, "onSuccess: " + value.getText());
}
});
mViewModel.getText()
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(new MySingleObserver<Text>(compositeDisposable) {
@Override
public void onSuccess(Text value) {
Log.i(TAG, "onSuccess: " + value.getText());
}
});
}
@Override
protected void onPause() {
super.onPause();
compositeDisposable.clear();
}
}
这是我的 ViewModel
public class ResponseViewModel extends ViewModel {
private static final String TAG = "MainActivity";
public Single<Text> getText() {
Single<Text> call= apiService.getText();
return call;
}
}
我刚收到 3 个回复中的 2 个。有时我得到超过 2 个。我不知道为什么会这样。
解决方案
推荐阅读
- laravel - 如何使用 Laravel 从 VUE 的存储文件夹中导入 JSON?
- apache-spark - SparkBWA 找不到文件 spark-submit
- google-cloud-firestore - 使用电子邮件地址作为 Firestore 中的密钥
- python - 确定分割匀称几何的“左”和“右”侧
- matlab - 使用 cellfun 进行条件元素替换
- c++ - C++ 计算基于赔率的游戏的支出
- python - OpenCV Python:如何避免 py3 中的 cv2.imwrite() 内存“泄漏”?
- rest - Azure isMemberOf api 给出“权限不足,无法完成操作”。尝试从 Azure 虚拟机访问时出错
- html - 如何将数据传递给具有属性的 Angular 组件?
- python - 如何使用 python 脚本在 mininet 中将 TCP 数据包从一台主机发送到另一台主机?