Проблемы по вызову дооснащения - PullRequest
0 голосов
/ 10 декабря 2018

Я новичок на kotlin, это мой первый тест приложения.Я пытаюсь выполнить модифицированный вызов (POST), но я получаю синтаксическую ошибку при создании кода.

Моя синтаксическая ошибка: не ожидается аргументов типа для CallBack

это моя функция doLogin на уровне презентатора (я получил ошибку здесь):

override fun doLogin() {
    val call = RetrofitInitializer().loginApiContract().login()

    call.enqueue(object: Callback<UserAccount> {
        override fun onResponse(call: Call<UserAccount>?,
                                response: Response<UserAccount) {
        }

        override fun onFailure(call: Call<UserAccount>?,
                               t: Throwable?) {
        }
    })
}

и это мой модификатор инициализации:

class RetrofitInitializer {

    private val retrofit = Retrofit.Builder()
        .baseUrl("http://192.168.0.23:8080/")
        .addConverterFactory(GsonConverterFactory.create())
        .build()

    fun loginApiContract() : LoginApiContract{
        return retrofit.create(LoginApiContract::class.java)
    }

}

это мой интерфейс вызова:

interface LoginApiContract {

    @POST("login")
    fun login() : Call<UserAccount>

    @GET("statements")
    fun getStatements()
}

1 Ответ

0 голосов
/ 10 декабря 2018

Лучшая практика с kotlin - используйте фабрику calladapter rxjava.

Попробуйте добавить зависимость

compile "com.squareup.retrofit2: adapter-rxjava2:"

и добавьтевызов заводской адаптер

private val retrofit = Retrofit.Builder()
        .baseUrl("http://192.168.0.23:8080/")
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
        .addConverterFactory(GsonConverterFactory.create())
        .build()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...