Не удается разрешить метод 'subscribeOn (rx.Scheduler)' -RxJava - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь сделать вызовы дооснащения с использованием RxJava.Когда я пишу этот код в SubscribeOn, он говорит: «Не удается разрешить метод SubscribeOn (io.reactivex.scheduler)».

Не могли бы вы подсказать, где я делаю это неправильно?

Любая помощь? Здесьмой кусок кода Когда я пишу этот код на SubscribeOn, он говорит: «Не удается разрешить метод SubscribeOn (io.reactivex.scheduler)».

java

public class MainActivity extends AppCompatActivity {
    EditText etEmail,etPassword;
    Button btnLogin;
    String loginAdmin;
    // RestCall call;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        etEmail = findViewById(R.id.etEmail);
        etPassword = findViewById(R.id.etPassword);
        btnLogin = findViewById(R.id.btnLogin);
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                CALL_NETWORK();
            }
        });
    }
    public void CALL_NETWORK() {
        final RestCall call = RestClient.createService(RestCall.class);
        call.LOGIN_RESPONSE_CALL("loginAdmin",etEmail.getText().toString(),etPassword.getText().toString())
                 //subscribeOn has the error.
                .subscribeOn(Schedulers.io())//Cannot resolve method 'subscribeOn(rx.Scheduler)'
                .observeOn(Schedulers.newThread())
                .subscribe(new Subscriber<LoginResponse>() {
                    @Override
                    public void onCompleted() {
                    }
                    @Override
                    public void onError(Throwable e) {
                    }
                    @Override
                    public void onNext(LoginResponse loginResponse) {
                    }
                });
    }
}

RestCall

interface RestCall {

    @FormUrlEncoded
    @POST("login.php")
    Call<LoginResponse> LOGIN_RESPONSE_CALL(
            @Field("loginAdmin") String loginAdmin,
            @Field("email") String email,
            @Field("password") String password
    );
}

RestClient

public class RestClient {
    public static <S> S createService(Class<S> serviceClass) {


        HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
        interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

        OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
                .connectTimeout(190, TimeUnit.SECONDS)
                .writeTimeout(200, TimeUnit.SECONDS)
                .readTimeout(190, TimeUnit.SECONDS)
                .retryOnConnectionFailure(true)
                .addInterceptor(interceptor).build();

        Gson gson = new GsonBuilder()
                .setLenient()
                .create();

        Retrofit.Builder builder = new Retrofit.Builder()
                .baseUrl(APIConfig.BASE_URL)
                .client(okHttpClient)
                .addConverterFactory(GsonConverterFactory.create(gson))
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create());
        Retrofit retrofit = builder.build();
        return retrofit.create(serviceClass);
    }

зависимости

implementation 'com.squareup.okhttp:okhttp:2.5.0'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.google.code.gson:gson:2.8.4'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'
implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
implementation 'io.reactivex:rxandroid:1.2.1'
implementation 'io.reactivex:rxjava:1.1.8'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...