Неразрешенная ссылка (успех, ошибка) при попытке использовать api поиска TOMTOM в приложении kotlin
Я пытаюсь использовать API поиска TOMTOM в моем приложении kotlin
Вот мой код:
private fun testSearch() {
val observer = object : DisposableSingleObserver<FuzzySearchResponse>() {
val text = "cairo"
val search = FuzzySearchQueryBuilder.create(text).build()
override fun onSuccess(fuzzySearchResponse: FuzzySearchResponse) {
search.success(fuzzySearchResponse.results)
}
override fun onError(throwable: Throwable) {
search.error(null, Error(throwable.message))
}
}
}
добавлен API в AndroidManfist.xml
и инициализировал поиск Tomtom в моем Gradle
файл
как показано на изображении, IDLE не может найти ни ошибки ссылки, ни успеха.
1 ответ
Решение
Ваша IDE не может найти ссылку, потому что вы ищете ее внутри FuzzySearchQuery
объект вместо SearchApi
объект, который вообще не определен в вашем коде. Найдите решение в приведенной ниже (слегка измененной) функции:
private fun testSearch() {
val searchApi = OnlineSearchApi.create(applicationContext)!!
val text = "cairo"
val searchQuery = FuzzySearchQueryBuilder.create(text).build()
val observer = object: DisposableSingleObserver<FuzzySearchResponse>() {
override fun onSuccess(t: FuzzySearchResponse) {
for (r in t.results) {
Toast.makeText(applicationContext, r.address.freeformAddress, Toast.LENGTH_SHORT).show()
}
}
override fun onError(e: Throwable) {
Toast.makeText(applicationContext, "err", Toast.LENGTH_SHORT).show()
}
}
searchApi.search(searchQuery).subscribeWith(observer)
}