Я новичок в kotlin и android studio и пытаюсь создать приложение с использованием API статистики НХЛ. У меня есть запрос, который отправляет, чтобы получить все команды и некоторую другую информацию:
fun getTeams(
@Query("page") page: Int
): Call<TeamsResponse>
Это класс модели:
data class teams (
@SerializedName("id") val id: Long,
@SerializedName("name") val name: String,
@SerializedName("division") val division: division,
@SerializedName("venue") val venue: venue
)
data class division (
@SerializedName("name") val divName: String
)
data class venue (
@SerializedName("name") val venName: String,
@SerializedName("city") val venCity: String
)
И ответ:
data class TeamsResponse (
@SerializedName("page") val page: Int,
@SerializedName("teams") val teams: List<teams>,
@SerializedName("total_pages") val pages: Int
)
Код для представления довольно прост. Он отображает всю информацию внутри модели команд в cardView, которую вы можете прокрутить. У меня также есть код, который получает ответ для реестра указанной c команды:
@GET("api/v1/teams/1/roster")
fun getRoster(
@Query("page") page: Int
): Call<RosterResponse>
, который возвращает список в список объектов 'person', например:
class RosterResponse (
@SerializedName("page") val page: Int,
@SerializedName("roster") val roster: List<roster>,
@SerializedName("total_pages") val pages: Int
)
Мой вопрос: как я могу нажать на одну из команд и заменить «1» в «api / v1 / team / 1 / roster» на id команды, на которую нажали? Весь мой опыт работы с API связан с MVC с использованием c#, поэтому я пытался работать с ним, как в этом проекте. Я использую Retrofit для создания URL:
private val api: API
init {
val retrofit = Retrofit.Builder()
.baseUrl("https://statsapi.web.nhl.com/")
.addConverterFactory(GsonConverterFactory.create())
.build()
api = retrofit.create(API::class.java)
}
Есть ли способ, которым я могу передать идентификатор команды, когда она нажата для этой функции?