2
RxJava 1では、私はRxJava 2では今、このRxJava2
private void doLogin() {
final ProjectApi service = RetrofitService.createRetrofitClient();
staticsubscription = service.service.getLogin(new PostLoginPojo("","", new Mobsess("","","","","")))
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(staticObserver);
}
Observer<ApiLogin> getLoginObserver = new Observer<ApiLogin>() {
@Override
public void onCompleted() {
staticsubscription.unsubscribe();
}
@Override
public void onError(Throwable e) {
// Called when the observable encounters an error
// Log.d(TAG, ">>>> onError gets called : " + e.getMessage());
}
@Override
public void onNext(ApiLogin staticData) {
}
};
ようなものをやっていた 私はこの
が編集のようにそれを変換しようとしています: -
private void doLogin(){
final ProjectApi service = RetrofitService.createRetrofitClient();
Disposable disposable = service.getLogin(new PostLoginPojo("","", new Mobsess("","","","","")))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(getLoginObserver());
}
public DisposableObserver<ApiLogin> getLoginObserver() {
return new DisposableObserver<ApiLogin>() {
@Override
public void onNext(ApiLogin value) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
};
}
私のプロジェクトApiは
public interface ProjectApi {
String login = "customer/validate";
@POST(login)
Observable<ApiLogin> getLogin(@Body PostLoginPojo post);
}
そして、これレトロフィットサービスは以下のとおりです。 -
public class RetrofitService {
private final static String API_URL = AppUrl.baseUrl ;
public RetrofitService(){
}
public static ProjectApi createRetrofitClient() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder().
addInterceptor(interceptor).build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(client)
.build();
return retrofit.create(ProjectApi.class);
}
}
エラー:私はエラー "互換性のない型" .subscribe(getLoginObserver())
に を取得していますincompatible types: void cannot be converted to Disposable
、
必要な "io.reacivex.disposbles.Disposableは" 見つかった "ボイド"
私はここで間違っていますか? おかげ
を使用することができるはずですその "空"と言っています。 – imagngames
は 'DisposableObserver'を使っているコードと正確なエラーを表示しています。 'getLogin'の定義の定義を投稿してください。 'subscribeWith'を購読しないでください – Blackbelt
が私の質問を更新しました。 – imagngames