Использование Observable в Kotlin для анализа ответа API - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь проанализировать данные с сервера на моем мобильном устройстве, и я использую Rx, Kotlin, retrofit для этого

ApiInterface.kt

@GET("api/v1/admin/class/getUsers/learner/{classId}")
    fun getStudentsRx(
        @Header("access_token") accessToken: String,
        @Path("classId") apiKey: String
    ): Observable<StudentResultResponse>

Я пытаюсь подписаться следующим образом:

 private fun getServerDataDisposable(dataService: ApiInterface): Disposable {
        return dataService.getStudentsRx(accessToken,classId)
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeWith(object: DisposableSingleObserver<List<StudentModel>>(), Observer<StudentResultResponse> {

                override fun onSuccess(movies: List<StudentModel>) {
                }

                override fun onError(e: Throwable) {

                }

                override fun onChanged(t: StudentResultResponse?) {
                    TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
                }

            })
    }

Я получаю ошибку:

enter image description here

1 Ответ

0 голосов
/ 12 марта 2020

проверьте ответ ниже ...

private fun getServerDataDisposable(dataService: ApiInterface): Disposable {
    return dataService.getStudentsRx(accessToken,classId)
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeWith(object: DisposableSingleObserver<StudentResultResponse>(), Observer<StudentResultResponse> {

                override fun onSuccess(t: StudentResultResponse) {
                    TODO("Not yet implemented")
                }

                override fun onError(e: Throwable) {
                    TODO("Not yet implemented")
                }

                override fun onComplete() {
                    TODO("Not yet implemented")
                }

                override fun onNext(t: StudentResultResponse) {
                    TODO("Not yet implemented")
                }

            })
}
...