Доработать RxJava для извлечения и сохранения данных (многопоточность )

#android-sqlite #retrofit2 #rx-java2

Вопрос:

получение данных с сервера с помощью модифицированного RxJava и сохранение в SQLite, все задачи должны выполняться в другом потоке (не внутри основного потока). после завершения выборки и сохранения данные будут отображаться в графическом интерфейсе (основной поток).

 Observablelt;Responselt;Listlt;Citygt;gt;gt; cityObservable = ApiClient.getApiService().getCity1();  cityObservable  .observeOn(AndroidSchedulers.mainThread())  .subscribeOn(Schedulers.newThread())  .doOnNext(new Consumerlt;Responselt;Listlt;Citygt;gt;gt;() {  @Override  public void accept(Responselt;Listlt;Citygt;gt; listResponse) throws Exception {  Log.e(TAG, "accept: "   Thread.currentThread()   " "   listResponse.body().size());  }  })  .subscribe(new Observerlt;Responselt;Listlt;Citygt;gt;gt;() {  @Override  public void onSubscribe(@NonNull Disposable d) {  Log.e(TAG, "onSubscribe: "   Thread.currentThread());  }   @Override  public void onNext(@NonNull Responselt;Listlt;Citygt;gt; response) {   if (response != null) {  Log.e(TAG, "onNext: "   response.code()   " "   Thread.currentThread());  for (City city : response.body()) {  names.add(city.getName());  }   arr = new ArrayAdapterlt;Stringgt;(  MainActivity.this, R.layout.support_simple_spinner_dropdown_item, names);   listView.setAdapter(arr);  } else {  Log.e(TAG, "onNext: null");  }  }   @Override  public void onError(@NonNull Throwable e) {  progressBar.setVisibility(View.GONE);  if (e instanceof HttpException) {  Log.e(TAG, "onError: "   ((HttpException) e).code());  } else {  // This is another exception, like invalid JSON, etc.  Log.e(TAG, "onError: ", e);  }  }   @Override  public void onComplete() {  progressBar.setVisibility(View.GONE);  Log.e(TAG, "onComplete: "   Thread.currentThread());  }  });  

здесь я могу извлекать данные с сервера, но не могу сохранить их в бд из фонового потока (хотя внутри onNext() я могу сохранить их в бд, но они будут выполняться в основном потоке) моя цель -gt; в каком потоке API вызывается RxJava в том же потоке или параллельно другой поток должен использоваться для сохранения извлеченных данных в БД SQLite